Joomshopping Addons: Second Description For Product для Joomla 5+

22.03.2024 11:43
#1
sergeytolkachyov
User sergeytolkachyov
Name: Sergey
11.10.2019
Сообщения: 110
Quote
Joomshopping Addons: Second Description For Product для Joomla 5+

Приветствую. Переписал аддон Joomshopping Addons: Second Description For Product по архитектуре плагинов Joomla 4 / Joomla 5. Выложил на гитхаб, предлагаю взять вам себе: https://github.com/WebTolk/Joomshopping-Second-Description-For-Product

Что нового?
- Повышена минимальная версия PHP до PHP 8.0+
- Добавлена возможность выбора позиции шаблона JoomShopping для вывода второго описания товара. Также можно указать пользовательскую позицию, что может быть полезно для разработчиков шаблонов. Найти можно в параметрах плагина группы jshoppingproducts.
- переписаны скрипты установки и удаления
- исправлена ошибка в скрипте удаления
- поскольку был добавлен новый функционал - присвоил версию 2.1.0.

Тестировал всё на Joomla 5.0.2 + JoomShopping 5.3.4


Последнее изменение: 22.03.2024 11:45

Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.
 
27.03.2024 13:36
#2
sergeytolkachyov
User sergeytolkachyov
Name: Sergey
11.10.2019
Сообщения: 110
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

v.2.1.1
We replace the separator with a void if the product description is not filled in


Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.
 
30.03.2024 12:10
#3
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Сообщения: 25941
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

Спасибо за помощь (в обновлении аддона).

После установки
An error has occurred.
0 Class "Joomla\Plugin\Jshoppingadmin\Second_description_for_product\Extension\Second_description_for_product" not found
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+


Joomla: 5.0.2
JoomShopping: 5.3.5
PHP: 8.2

Последнее изменение: 30.03.2024 12:16
 
30.03.2024 12:13
#4
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Сообщения: 25941
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

Пример Установки плагина (запись в базу)

$addon = \JSFactory::getTable('addon');

$addon->installJoomlaExtension(
array(
'name'=>'JoomShopping plugin name',
'type'=>'plugin',
'element'=>'free_attribute_calcule_price',
'folder'=>'jshoppingproducts',
'client_id'=>0,
'enabled'=>1,
'access'=>1,
'protected'=>0,
'manifest_cache'=>$cache,
'params'=>$params
)
);

 
30.03.2024 12:15
#5
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Сообщения: 25941
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

Старая верия onBeforeDisplayProduct
function onBeforeDisplayProduct(&$product, &$view, &$product_images, &$product_videos, &$product_demofiles) {
$lang = \JSFactory::getLang();
$description = $lang->get('description');
$second_description = 'second_'.$description;
$tmp = explode($this->separator, $product->$description);
if (isset($tmp[1])) {
$product->description = \JHTML::_("content.prepare", $tmp[0]);
$product->second_description = \JHTML::_("content.prepare", $tmp[1]);
if (!isset($view->_tmp_product_html_after_buttons)) $view->_tmp_product_html_after_buttons = '';
$view->_tmp_product_html_after_buttons .= '<div class="second_description">'.$product->second_description.'</div>';
}
}

в новой версии
вы забыли \JHTML::_("content.prepare",.... - использовать плагины content


Последнее изменение: 30.03.2024 12:17
 
15.04.2024 07:12
#6
sergeytolkachyov
User sergeytolkachyov
Name: Sergey
11.10.2019
Сообщения: 110
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

admin - 30.03.2024 12:13
Пример Установки плагина (запись в базу)

$addon = \JSFactory::getTable('addon');
...

Это ок, внесу.


Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.
 
15.04.2024 07:17
#7
sergeytolkachyov
User sergeytolkachyov
Name: Sergey
11.10.2019
Сообщения: 110
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

admin - 30.03.2024 12:15
в новой версии
вы забыли \JHTML::_("content.prepare",.... - использовать плагины content

Да, забыл. Но проверил - оно работает. Видимо, зависит от порядка срабатывания контент плагинов. В Joomla 4 / 5 также можно решить установкой приоритета срабатывания плагинов:
- https://manual.joomla.org/docs/building-extensions/plugins/joomla-4-and-5-changes#priority
- https://www.dionysopoulos.me/book/plg.html#plg-forms-j4-subscriberinterface
- https://habr.com/ru/articles/736412/

Но вообще думаю, что обработать стоит только second description, вот так

$product->description = $tmp[0];
$product->second_description = HTMLHelper::_('content.prepare', $tmp[1], '', 'com_jshopping.product');

$product->description и так обрабатывается всегда, а $product->second_description к моменту выполнения плагина обработан скорее всего частично, поэтому его имеет смысл обработать дополнительно. Если же вызывать ещё и на $product->description, то будет лишний уровень рекурсии.


Последнее изменение: 15.04.2024 07:36

Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.
 
15.04.2024 07:26
#8
sergeytolkachyov
User sergeytolkachyov
Name: Sergey
11.10.2019
Сообщения: 110
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

v.2.1.2
- Changed install / update from direct database query to JoomShopping Addon Table method
- add content plugins prepare for second description


Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.
 
15.04.2024 07:33
#9
sergeytolkachyov
User sergeytolkachyov
Name: Sergey
11.10.2019
Сообщения: 110
Quote
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

admin - 30.03.2024 12:10
После установки
An error has occurred.
0 Class "Joomla\Plugin\Jshoppingadmin\Second_description_for_product\Extension\Second_description_for_product" not found
Aw: Joomshopping Addons: Second Description For Product для Joomla 5+

После установки джумловский инсталлер вызывает перегенерацию карты namespaces. Ваша установка пишет напрямую в базу. Поэтому нужно руками удалить файл administrator/cache/autoload_psr4.php. Тогда джумла обновит карту неймспейсов и всё будет ок.

А вообще я перешел всё-таки на джумловский инсталлер, это удобнее. Собираешь пакеты себе, можно changelog url использовать. Установка, удаление, обновление - всё штатными средствами. А если хочется хранить ещё в своем списке аддонов - то никто не мешает этого делать.


Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.
 


Copyrights MAXXmarketing GmbH. Alle Rechte vorbehalten
Durch die Nutzung dieser Website stimme ich zu, dass Cookies zur optimalen Gestaltung der Website sowie zur Analyse der Nutzung der Website verwendet werden. Weiterführende Informationen finden Sie hier. OK, einverstanden.