Обновление: Плагин jQuery для Joomla 2.5

Обновил системный плагин jQuery

Изменения:

  • добавлены новые ветки в том числе 2.х
  • библиотеки перемещены в медийную директорию 'media'

Скачать плагин plg_library_jquery.zip v2.5.2 для Joomla 2.5

Быстрый способ применить плагины 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

На данный момент в разработке интернет-магазин Virtuemart2 с интеграцией . Решил посмотреть на запросы виртмала и ужаснулся. Грандиозная утечка в БД. Как можно ради того что бы узнать Media изображение категории дополнительно обращаться к базе данных? Я в шоке. Это же все делается в том же запросе категорий. Капец, до сих пор успокоиться не могу.

Подробнее...

Joomla - защита админки

Ну вот и обрушилась брутфорс атака на админку Joomla, причем на все сайты сервера. И похоже конкретный ботнет работает. Все ip разные, каждый банить не будешь, чем раньше и спасался. Давно вынашивал план защищаться от подборщиков паролей с помощью .htaccess

Подробнее...

Virtuemart 2: Исправляем ошибки - Класс VmTable расширяющий функционал JTable

На сегодня беремся за 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()

Преамбула: Решился все таки построить новую версию среднего по объемам интернет-магазина на базе 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();

Удачи!!!

Подкатегории