LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 15:22:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Расширение функциональных возможностей VirtueMart без хака ядра.  (Прочитано 1300 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Wedal
Захожу иногда
**

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

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



« : 11.11.2011, 07:15:08 »

Всем доброго времени суток!

В процессе написания одной из статей, я обратил внимание, что в Рунете(в том числе и на Joomlaforum'е) очень редко встречается упоминание одной очень полезной функции VirtueMart - перегрузка и расширение классов. С ее помощью мы можем вносить изменения в функционал VirtueMart, не создавая при этом хаков.

Для чего это нужно? Круг задач очень обширный, начиная с добавления в нужные шаблоны VirtueMart дополнительных переменных(которых там иногда так не хватает), заканчивая добавлением собственного функционала, не предусмотренного компонентом. При этом обновляться можно совершенно спокойно, т.к. сделанные изменения никак не будут затронуты.

Как это работает? Думаю многие знают, что такое Joomla template overrides. Мы вносим изменения в структуру модулей и компонентов Joomla, не затрагивая код ядра. Тоже самое можно делать и с VirtueMart, но меняем мы не структуру, а функции классов. Если говорить коротко, то:
1) активируем опцию без названия в настройках Virtuemart(вкладка "Безопасность")
2) создаем в папке с шаблоном VirtueMart подпапку user_class
3) помещаем в папку user_class файл класса VirtueMart, содержащий только функции, в которые мы хотим внести изменения
4) оформляем этот файл в соответствии с правилами расширения классов php, вносим необходимые изменения в функции(пишем свои функции).
5) Проверяем как всё работает и радуемся Wink.
Если нужно подробнее, читаем статью про user_class, которую я таки написал. Там есть пример использования.

P.S.: beagler, если есть возможность, закрепи тему в этом разделе. Функция действительно очень полезная, но малоизвестная. Думаю, многие с ее помощью избавятся от головной боли с хаками.
Записан
 
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #1 : 14.11.2011, 21:47:25 »

Обязательно внесу в FAQ
Правильный подход
+1
Записан
hudoy
Осваиваюсь на форуме
***

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

Сообщений: 107


« Ответ #2 : 15.11.2011, 13:54:56 »

эту тему я давно искал, по ссылке выше все очень офигенно расписано, будем хаки переносить. Спасибо! +1
Записан
rtzra
Захожу иногда
**

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

Сообщений: 15


« Ответ #3 : 16.04.2012, 14:30:14 »

О, то что я давно искал.
Большое человеческое спасибо.  Cheesy
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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