Быстрый способ применить плагины content в своих целях
Зачем много слов? Все просто
<?php echo JHTML::_('content.prepare',$this->my_text); ?>
объяснять не буду, кто ищит подобную информацию сразуй поймет как и куда применять.
Расширяем настройки модуля. Добавляем текстовый редактор как в модуле mod_custom
Опишу небольшой хак по расширению функционала модулей. Часто встречается задача где в пользовательском модуле надо дополнительно вывести произвольный текст, как в модуле mod_custom.
Вот как это делается:
Joomla - преобразование строки params в массив $params
Бывают ситуации когда надо вытащить параметры какого нибудь модуля для использования его настроек на собственные нужды. Один из таких примеров интеграция плагина с модулем для корректной работы в компоненте. В общем с чем я сталкиваюсь в проектировании сложных систем на Joomla
И так. Как вытащить параметр модуля думаю не стоит описывать. Тупо подключаемся к БД, делаем запрос на нужный модуль и получаем строку с параметрами. К примеру в таком виде
{"layout":"default","method":"get","limit":"10","Parent_Category_id":["4","6"]}
Для преобразования строки в массив воспользуемся функцией JParameter
jimport('joomla.html.parameter'); // импорт библиотеки $str = '{"layout":"default","method":"get","limit":"10","Parent_Category_id":["4","6"]}'; $params = new JParameter( $str ); // Создание объектного массива echo $params->get('layout'); // Результат - default echo $params->get('method'); // Результат - get echo $params->get('limit'); // Результат - 10 echo $params->get('Parent_Category_id'); // Результат - array(2)
Еще один способ преобразовать JSON в объектный массив средствами php
$str = '{"layout":"default","method":"get","limit":"10","Parent_Category_id":["4","6"]}'; $params = json_decode($str); echo $params->layout; // Результат - default echo $params->method; // Результат - get echo $params->limit; // Результат - 10 echo $params->Parent_Category_id; // Результат - array(2)
Вот и вся соль. Ничего сложного, просто заметка на память.
Joomla 2.5 реализация SEF / ЧПУ
Для тех кто впервые создает или подходит к грамотному созданию компонент, модуль, плагин для Joomla данный мини мануал будет полезен. Речь пойдет о SEF URL (search engines friendly url) ну или для русскоязычного юзера ЧПУ (человекопонятные УРЛ), кому как одобней. Как же заставить средствами движка (в нашем случае Joomla 2.5) конвертировать кириллический url в транскрипцию латиницы?
Делается все средствами фреймворка, для создания alias (алиаса) используем class JApplication
$title = "Создаем ЧПУ / SEF заголовок"; $alias = JApplication::stringURLSafe($title); // В результате $alias присвоит // sozdaem-chpu-sef-zagolovok
Так же можно воспользоваться обычной транскрипцией без удаления (преобразования) спец символов следующей функцией
$lang = JFactory::getLanguage(); $text = "Создаем ЧПУ / SEF заголовок"; $text_conv = $lang->transliterate($text); // В результате $text_conv присвоит // sozdaem chpu / sef zagolovok
По мере надобности дополню описание...
Virtuemart 2: Оптимизация Category
- Joomla /
- Virtuemart
- 16.10.2013
- job
- 6351
На данный момент в разработке интернет-магазин Virtuemart2 с интеграцией 1С. Решил посмотреть на запросы виртмала и ужаснулся. Грандиозная утечка в БД. Как можно ради того что бы узнать Media изображение категории дополнительно обращаться к базе данных? Я в шоке. Это же все делается в том же запросе категорий. Капец, до сих пор успокоиться не могу.
Joomla - защита админки
Ну вот и обрушилась брутфорс атака на админку Joomla, причем на все сайты сервера. И похоже конкретный ботнет работает. Все ip разные, каждый банить не будешь, чем раньше и спасался. Давно вынашивал план защищаться от подборщиков паролей с помощью .htaccess
Virtuemart 2: Исправляем ошибки - Класс VmTable расширяющий функционал JTable
- Joomla /
- Virtuemart
- 13.06.2013
- job
- 8539
На сегодня беремся за API Virtuemart 2. Попробую разобраться с классом VmTable - расширяющий функционал класса JTable.
Конфигурация:
Joomla 2.5.11
Virtuemart 2.0.20b
Возникающие ошибки:Strict Standards: Accessing static property TableCategories::$_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 59
Strict Standards: Accessing static property TableCategories::$_query_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 60
Strict Standards: Accessing static property TableProducts::$_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 59
Strict Standards: Accessing static property TableProducts::$_query_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 60
Strict Standards: Accessing static property TableVendors::$_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 59
Strict Standards: Accessing static property TableVendors::$_query_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 60
Strict Standards: Accessing static property TableRatings::$_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 59
Strict Standards: Accessing static property TableRatings::$_query_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 60
Strict Standards: Accessing static property TableManufacturers::$_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 59
Strict Standards: Accessing static property TableManufacturers::$_query_cache as non static in /home/www/site.ru/administrator/components/com_virtuemart/helpers/vmtable.php on line 60
Virtuemart 2: Исправляем ошибки - Declaration of LiveUpdateController::display()
- Joomla /
- Virtuemart
- 12.06.2013
- job
- 7549
Преамбула: Решился все таки построить новую версию среднего по объемам интернет-магазина на базе Virtuemart 2.x. Предпосылки, естественно расширение функционала, похожего на полноценную систему торговли. Да, конечно Virtuemart сложно назвать такой, но наработанный функционал буду портировать, а что делать! А учитывая, что хочется делать все по фен-шую - ошибки, даже незначительные, не приемлемы. По ходу создания магазина буду описывать их исправление.
На сегодня начнем с Virtuemart 2 All in one Installer
Конфигурация:
Joomla 2.5.11
Virtuemart 2.0.20b
Ошибка
Strict Standards: Declaration of LiveUpdateController::display() should be compatible with that of JController::display() in /home/www/site.ru/administrator/components/com_virtuemart_allinone/classes/controller.php on line 16
Strict Standards: Non-static method JSite::getMenu() should not be called statically
Joomla 2.5 имеется некий компонент некорректно портированный с версии 1.5, выдает следующую ошибку:
Strict Standards: Non-static method JSite::getMenu() should not be called statically in ........................ on line 99
Привожу метод борьбы:
$menu = JSite::getMenu(); // Меняем на $app = JFactory::getApplication(); $menu = $app->getMenu();
Удачи!!!
Joomla 2.5: Плагин jQuery
jQuery - уже давно считают стандартным javascript фреймворк'ом, без которого не обойдется ни один сайт с динамическим контентом. Кто то скажет - "А нафиг для jQuery создавать плагин? Прописал в шаблоне Joomla и забыл". Спорить не буду, но ... (чуть позже)
Набросал по быстрому системный плагин добавления библиотеку jQuery на сайт под управлением Joomla 2.5. Не буду голословным, опишу возможности.