21 | 09 | 2017
Компонент CMS Joomla 1.5 - Kartoteka
Инструкция по установке и работе с компонентом.
  Скачать компонент     Демонстрационная версия

Web-разработка :
Программирование на языке PHP, БД MySQL ;
JOOMLA - компоненты, модули, шаблоны и др. ;

Перед началом работы с компонентом "Картотека" необходимо изучить данную инструкцию и следуя описанию работы поэтапно выполнять все указанные операции. Данный компонент расчитан на пользователя с начальными знаниями работы с базами данных и языком SQL-запросов. Само собой разумеется что данный компонент можно использовать не только как картотеку в её прямом смысле, но и для создания небольшого каталога какого-либо иного рода.
Компонент скачивается и устанавливается как и любой другой компонент, процедура стандартная. Данная версия компонента предусматривает создание только одного материала Kartoteka на сайте.
После инсталляции компонента, создаём пункт меню, привязываем его к материалу компонента.
Непосредственно во время создания материала компонента в базе данных сайта создаётся таблица #__kartoteka, которая изначально состоит из двух полей (колонок) - id и fio. Поле id имеей тип счётчика, а поле fio - строковый тип (varchar) и хранит уникальные данные. Работа с компонентом предусматривает добавление колонок в указанную таблицу #__kartoteka согласно Вашим замыслам и решениям.
Непосрественая работа с компонентом Kartoteka в административной панели.
В главном меню административной части сайта выбрать : Компоненты - Kartoteka и перейти в раздел Kartoteka.
1. Добавление раделов каталога картотеки.
После того как будет продумано и решено какого рода разделы будет содержать картотека необходимо добавить эти разделы. Добавление разделов происходит как добавление полей в таблицу #__kartoteka. В приведённом примере кроме полей т.е разделов картотеки: id(играет роль счётчика и не отображается визуально) и fio (каталогизируемые имена), мною было добавлено ещё три раздела (три поля таблицы #__kartoteka), это поля prof (содержит данные о профессии заносимого в каталог лица, max длиной в 100 знаков), adres (понятно - адресные данные, запись длиной в 200 знаков) и biografia (предназначено для хранения биографических данных). Само собой разумеется что биграфические данные могут быть большими по объёму, создаваемый раздел biografia я сделал по типу text.
В прилагаемых скриншотах можно увидеть как добавляются раделы в картотеку.

Создание поля типа varchar

Пример создания полей (разделов каталога картотеки). Если вновь создаваемый раздел каталога имеет тип varchar то при работе с ним в административной панели выводится текстовое поле, если text  то выводится текстовой редактор что значительно увеличивает возможности работы с вносимой информацией.
Создание поля типа text
2. Создание записей в картотеке
После того как компонент был установлен и было решено сколько и какие разделы требуется добавить можно приступать к наполнению картотеки.
В главном меню административной панели выбираем Компоненты, далее Kartoteka - Создать. Переходим в раздел создания новой записи. В примере выложенном на этом сайте, с теми разделами создание которых было описано выше форма создания новой записи выглядит так:
kartoteka3
 Заполняем форму, нажимаем "Создать запись" и новая запись создана. Если до этого момента в картотеке не было ни одной записи на первую букву в графе "Фамилия, имя , отчество" то при переходе на страницу картотеки на сайте она добавиться. Все остальные разделы компонента интуитивно понятны за исключением "Заполнить таблицу #__kartoteka содержимым текстового файла". 
3. Заполнение компонента Kartoteka содержимым текстового файла.
Этот раздел был мною разработан как временный, на время разработки данного компонента с той целью что добавлять большое количество информации для проверки работоспособности компонента, вручную для меня было очень утомительно. По этому я написал в компоненте код под загрузку в таблицу #__kartoteka текста из специально сформированного текстового файла что-бы при выборе файла он разбирал текст так как надо и вставлял в таблицу. После написания компонента я не стал удалять код внесения записей из текстового файла. Специально сформированный текстовой файл я получал из таблиц Excell и Access методом замены каких-то символов, наверно это не самый лучший способ, да уж ладно, пусть будет. Как программно создавать текстовой файл описивать не буду, остановлюсь лишь на его структуре.
Начинается текстовой файл с символов #~ эта комбинация знаков служит разделителем между разными записями. Разделительной комбинацией знаков внутри одной записи по разделам каталога служит комбинация #% . Для того что бы было более понятно можно скачать пример данного текстового файла. Учитывая то что в картотеке 4 раздела, схема формирования текстового файла такова:
#~Фамилия, имя, отчество_1#%Профессия_1#%Адрес_1#%Биография_1
#~Фамилия, имя, отчество_2#%Профессия_2#%Адрес_2#%Биография_2
#~Фамилия, имя, отчество_3#%Профессия_3#%Адрес_3#%Биография_3
#~Фамилия, имя, отчество_4#%Профессия_4#%Адрес_4#%Биография_4
Сформированный по такой схеме файл .txt выкладывается в корневую директорию сайта и загружается в компонент Kartoteka. Таким образом на этот сайт в компонент Kartoteka была загружена информация текстового файла который выложен для скачивания, с той лишь разницей что запись "Биография" была затем изменена для каждой записи.