Форум русской поддержки Joomla!® CMS
06.12.2016, 10:02:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывод информации с txt файла

 (Прочитано 101 раз)
0 Пользователей и 1 Гость смотрят эту тему.
samrisbe
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 5



« : 22.11.2016, 17:27:59 »

Добрый день!  Smiley
Посоветуйте начинающему как проще сделать следующую функцию на движке Joomla 3.
У меня есть файл в котором две колонки: адрес, лицевой счет мне надо чтоб посетитель сайта мог введя адрес получить информацию лицевой счет соответствующий введенному адресу, посоветуйте как это сделать? если на форуме есть такая тема то пожалуйста ссылочку скиньте.  Wink
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6456



« Ответ #1 : 22.11.2016, 19:34:06 »

набросать модуль или простенький компонент, компонент позволит работать с бд и в дальнейшем расширять возможности, модуль более ограниче и будет работать только с файлом напрямую, что может быть не оч.производительно (хотя тут вопрос квалификации разработчика)
Записан
samrisbe
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 5



« Ответ #2 : 23.11.2016, 10:35:44 »

Эти данные в бд отсутствуют, если их можно в бд занести то будет лучше но они обновляются и их надо будет обновлять в бд. Я сам немного разбираюсь в с++, если знаете где пример есть похожий на мою задачу, я попробую сделать самостоятельно и частично при помощи более опытных форумчан.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3582


« Ответ #3 : 23.11.2016, 11:02:02 »

Если файл не очень большой и содержит всего 2 колонки, то достаточно модуля. В принципе это простая форма с простым обработчиком, можно все в один скриптик засунуть (для вас это не должно быть сложно, раз вы уже пишете на С++). Оформление в модуль решает некоторые вопросы безопасности (проверка token, обращение к файлу не напрямую, ограничение прав пользователя...) и оформления вывода с помощью инструментов Joomla API. Как выглядит структура файла?
Записан
samrisbe
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 5



« Ответ #4 : 23.11.2016, 14:50:30 »

Структура файла выглядит так:
лицевой номер /улица номер дома и подъезд / номер квартиры
001256  Московская 33 п.1  1
001257  Московская 33 п.1  2
001258  Московская 33 п.1  3

Структуру могу сделать любую (файл генерирую из БД Acces) если надо могу поставить разделители между колонками например так: 001256;Московская 33 п.1;1
и таких строк в файле порядка 30000 (тридцать тысяч) и особо уже не увеличится.
Я подумал что от дурака надо сделать защиту, чтоб адрес не вводился а выбирался по типу выпадающего списка затем исходя из выбора адреса второй выпадающий список с номерами квартир только из выбранного адресе, и после выбора сделать проверку что все выбрано если нет указать какой параметр не выбран, и если все нормально выводить лицевой соответствующего адреса и квартиры.
Это реализовать на С++ могу с закрытыми глазами, а для web не хватает знаний, но если увижу пример попытаюсь вникнуть.
вот например как на С++ реализуется: 
Код:
  //загружаю в StringList строки для обработки из txt файла
  word->LoadFromFile(ExtractFilePath(Application->ExeName)+"Spiski//adresa.txt");
  //привожу к верхнему регистру выбранный пользователем адрес и квартиру
  alladres->CommaText = jekadr  + kvart ;//из списка адрес и квартира
  //привожу к верхнему регистру адрес и квартиру выбранный пользователем
  adres = String( alladres->Strings[0] + " " + alladres->Strings[1] ).UpperCase();
  //начинаем обработку полученных данных
  //перебираю строки из списка в цикле
  for(int i = 0; i < word->Count; ++i)
    {
    //привожу к верхнему регистру адрес из списка
    list->CommaText = word->Strings[i];
    //передаю в переменные типа String данные текущей строки
    //лицевой счет
    licevoi = list->Strings[0];
    //адрес из списка адресов название улицы номер дома и номер квартиры
    jekadr = String(list->Strings[1] + " " + list->Strings[2] + " " + list->Strings[3]).UpperCase();
           
    //если есть совпадение пробуем внести изменение
    if(adres == jekadr)
      {
      Edit1->Text = licevoi; // отображаю лицевой счет выбранного адреса
      }
    }
Записан
SmokerMan
Профи
********

Репутация: +694/-25
Offline Offline

Пол: Мужской
Сообщений: 5225



« Ответ #5 : 23.11.2016, 15:45:21 »

в php есть такая функция для csv http://php.net/manual/ru/function.fgetcsv.php
Записан
Septdir
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 838


Skype: septdir


« Ответ #6 : 23.11.2016, 16:03:19 »

Для разраобтки самое простое будет модуль \ плагин которые будет дергать дынные скажем из cvs, а вот для использования удобнее будет простенький компонент, тут и редактирование и поиск и сортировка и добавление все удобно.
Для создания комопнента вам хвтаит официальной документации https://docs.joomla.org/J3.x:Developing_an_MVC_Component Если с С++ работает то проблем с создание и логикой быть не должно
Записан
samrisbe
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 5



« Ответ #7 : 23.11.2016, 20:37:04 »

Спасибо всем. Буду пробовать. Начну как 10 лет назад с "Hello world"  Wink
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet