а задати будь-які властивості будь-якого товару, після чого вони будуть відображатися при порівнянні товарів в розробленому мною модулі.
Розроблений мною модуль складається з 12 текстових файлів з кодом, а також з 14 малюнків. Мій модуль можна встановлювати на CMS Joomla! двома способами, простим копіюванням і зміною баз даних. Нижче наведена структура модуля:
Скріншот 1. Структура модуля порівняння товарів
Зараз мова піде про способи встановлення модуля на CMS Joomla !. Для початку необхідно скопіювати папки «administrator», «components» і «images» в кореневу папку сайту створеного інтернет-магазину по шляху «z: home localhost www im». При збігу імен нових файлів з уже наявними в каталогах і підкаталогах необхідно замінити старі файли на нові. Дотримуючись одного із способів установки, далі потрібно в адресному рядку браузера прописати «localhost Tools phpmyadmin », а потім вибрати зі списку баз даних базу з назвою «im». Далі зі списку таблиць, яких в базі даних сайту інтернет-магазину «Електрон» налічується 182, необхідно відшукати таблицю з назвою «jos_vm_category» і виконати запит «ALTER TABLE` jos_vm_category` ADD `allow_compare` CHAR (1) DEFAULT Y raquo ;; ». Після виконаних операцій потрібно зайти в налаштування Virtuemart, потім відкрити список всіх модулів, а далі перейти по посиланню «перелік функцій» у рядку з назвою модуля «shop» і додати три функції із зазначеними нижче параметрами:
Таблиця 5. Функції, необхідні для роботи модуля порівняння
Ім'я функцііІмя классаМетод классаПраваcomparisonAddps_comparisonaddnonecomparisonDeleteps_comparisondeletenonecomparisonClearps_comparisonclearnone
Слідуючи другому способу, після копіювання і заміни відповідних файлів потрібно встановити архів, який я назвав «comparison.zip», з папки «Модуль порівняння товарів» таким же чином як і ті готові модулі, які використовувалися при створенні сайту інтернет-магазину: навігації, вибору валюти, пошуку товарів, корзини та авторизації. Для цього потрібно зайти в панель адміністратора CMS Joomla! і на вкладці «Розширення» вибрати пункт меню «Встановити/Видалити», після чого знайти цей архів і встановити його.
Для того, щоб порівняння працювало потрібно додати товарам «тип товару», інакше не буде можливості їх порівнювати: елемент checkbox «порівняти» не буде навіть відображатися.
Сам модуль в віде архіву «comparison.zip» містить в собі файли «mod_virtuemart_comparison.php», «mod_virtuemart_comparison.xml» і скрипт-файл «vm_comparison.js», що знаходиться в папці «vm_comparison».
Нижче знаходиться код файлу «mod_virtuemart_comparison.php», в якому я за допомогою вставки коментарів пояснював, за що відповідають найосновніші команди.
lt;? php (! defined ( _VALID_MOS ) amp; amp;! defined ( _JEXEC )) die ( Direct Access to .basename (__ FILE __). laquo ; is not allowed. ); (! isset ($ mosConfig_absolute_path)) {
$ mosConfig_absolute_path=$ GLOBALS [ mosConfig_absolute_path ]=JPATH_SITE;
} $ mosConfig_absolute_path; _once ($ mosConfig_absolute_path. /components/com_virtuemart/virtuemart_parser.phpraquo;); $ auth, $ VM_LANG, $ sess, $ mm_action_url, $ ps_comparison;
$ param [ introtext ]=$ params- gt; get ( introtext raquo ;, );
//Текст, що описує роботу з модулем
//$ param [ show_in_popup ]=$ params- gt; get ( show_in_popup raquo ;, 0);
//Дана команда дозволяє виводити порівняння товарів інтернет-магазину в окремому вікні
$ param [ show_introtext ]=$ params- gt; get ( show_introtext raquo ;, 0);
//Виводити текст завжди (еденица) або тільки коли товарів в порівнянні немає (нуль)
//$ param [ style_inverted ]=$ params- gt; get ( style_inverted raquo ;, 0);
//Зворотне розташування товарів і парамтеров
$ param [ style_scrolldiv ]=$ params- gt; get ( style_scrolldiv raquo ;, 0);
//Товари виводяться в елементі auto scroll
//$ param [ types ]=$ params- gt; get ( types raquo ;, );
//команда обробляє тільки зазначені типи
$ param [ snapshot ]=$ params- gt; get ( snapshot raquo ;, 1);
//Команда виводить до показу стандартний елемент snapshot
$ param [ show_price ]=$ params- gt; get ( show_price raquo ;, 1);
//Команда виводить ціну товару
$ param [ show_title ]=$ params- gt; get ( show_title raquo ;, 1);
//Коман...