Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php // Это файл в /layouts/components/com_component/your_layout.php ?> <input type="hidden" name="task" value=""> <input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"> <input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"> <?php echo HTMLHelper::_('form.token'); ?>

Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 1672 Просмотров
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
После вставки кода (например: <p class=""></p>) в названии товара он исчезает при сохранении.
Пробовал в БД изменить varchar(255) на text, высматривал разные файлы  *ОХ-Х-Х* ... но так ничего и не нашёл.
Может аддон какой существует или где JoomShopping отрубает HTML код?

Кто знает или сталкивался....? пожалуйста хэлп.

*

kit2m2

  • Живу я здесь
  • 3354
  • 274 / 0
  • Беру сайты на полное сопровождение
Зачем эти "танцы с бубнами"?  ;D Оберните тегами название товара в шаблоне товара.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Зачем эти "танцы с бубнами"?  ;D Оберните тегами название товара в шаблоне товара.

Суть в том, что необходимо второе название для товара и в тэге H1.... как здесь.


А вот код этой же страницы...

*

kit2m2

  • Живу я здесь
  • 3354
  • 274 / 0
  • Беру сайты на полное сопровождение
Установите этот Addons: Second short Description for a Product и вашем шаблоне карточки товара переместите позицию вывода инфы аддона в тег H1 (там где первое название).
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Цитата: kit2m2 link=topic=356875.msg1824651#msg1824651Pate=1621697177
Установите этот Addons: Second short Description for a Product и вашем шаблоне карточки товара переместите позицию вывода инфы аддона в тег H1 (там где первое название).
Second short Description for a Product вместе с аддоном Second Descriptionfor Product создают ошибку даже на тестовом сайте.
« Последнее редактирование: 22.05.2021, 20:52:56 от webklient »
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Вот для примера тестовый сайт(admin/admin) https://natr.site/joomshopping/product/view/1/1
Second short Description for a Product вместе с аддоном Second Description for Product создают ошибку даже на тестовом сайте.

« Последнее редактирование: 22.05.2021, 20:59:47 от webklient »
*

kit2m2

  • Живу я здесь
  • 3354
  • 274 / 0
  • Беру сайты на полное сопровождение
Second short Description for a Product вместе с аддоном Second Descriptionfor Product создают ошибку даже на тестовом сайте.
Да, эти два аддона не совместимы. На сайте может работать только один аддон из двух.

Могу за небольшие деньги доработать аддон Second short Description for Product чтобы был совместим с аддоном Second Description for Product.

Или Вы можете использовать доработанный мною аддон Second Description for Product, только нужно будет добавить в свой шаблон позиции вывода: _tmp_product_second_description и _tmp_product_third_description.

Или в коде аддона прописать свои позиции вывода.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Вопрос решён. Спасибо разработчикам на форуме и kit2m2  :D!
https://www.joomshopping.com/forum/posts/21/14786.html?lang=ru

Чтобы не исчезал HTML код на странице и карточке товара Joomshopping можно сделать следующее:
По адресу: administrator\components\com_jshopping\models\products.php
После стороки 217:
Код
$post['description_'.$lang->language] = $input->get('description'.$lang->id, '', 'RAW');
Добавить новую строку:
Код
$post['name_'.$lang->language] = $input->get('name_'.$lang->language, '', 'RAW');
« Последнее редактирование: 24.05.2021, 17:44:22 от webklient »
*

kit2m2

  • Живу я здесь
  • 3354
  • 274 / 0
  • Беру сайты на полное сопровождение
следует сделать следующее:
Как раз это никому не стоит делать (лезь в код компонента и там править, тем более когда есть готовые решения), но Вы можете...

Всем остальным прежде чем править что-то в коде ядра компонента стоит подумать, а как Вы будете обновлять сам компонент. Обновление затрет все правки, опять же без достаточных знаний Вы можете нарушить работу своего сайта.

За красный цвет можете получить замечание.
Правила форума
Цитировать
22. Использование красного цвета в Ваших сообщениях или подписях. Красный цвет- разрешён только администрации форума.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Как раз это никому не стоит делать (лезь в код компонента и там править, тем более когда есть готовые решения), но Вы можете...

Всем остальным прежде чем править что-то в коде ядра компонента стоит подумать, а как Вы будете обновлять сам компонент. Обновление затрет все правки, опять же без достаточных знаний Вы можете нарушить работу своего сайта.

За красный цвет можете получить замечание.
Правила форума

Спасибо за поправку. Я пытался найти готовое решение... но увы. Пришлось лезть в код от безысходности.
Уважаемый kit2m2, поделитесь пожалуйста решением, если есть такая возможность.  ^-^
*

kit2m2

  • Живу я здесь
  • 3354
  • 274 / 0
  • Беру сайты на полное сопровождение
Уважаемый kit2m2, поделитесь пожалуйста решением, если есть такая возможность. 
Я уже дал Вам решение:
Или Вы можете использовать доработанный мною аддон Second Description for Product, только нужно будет добавить в свой шаблон позиции вывода: _tmp_product_second_description и _tmp_product_third_description.

Или в коде аддона прописать свои позиции вывода.

Доработанный аддон выводит три описания товара, одно можете использовать под свои нужды.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Я уже дал Вам решение:
Доработанный аддон выводит три описания товара, одно можете использовать под свои нужды.

Искренний вам поклон за это расширение.  ;) Уже используется  ^-^
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
webklient, есть простенький способ, без установки аддонов, в Вашем случае идеален. Делаете заголовок из двух частей с каким-нибудь разделителем, который не съест обработчик при сохранении. Обычно используют вертикальный слеш. Пример

Название 1|Название 2

А потом в шаблоне уже проходитесь регуляркой и разбиваете строку на две части. И с этими частями делаете что душе заблагорассудится. Шаблон не забываем переопределять дабы не затерлось при обновлении.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

webklient

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
webklient, есть простенький способ, без установки аддонов, в Вашем случае идеален. Делаете заголовок из двух частей с каким-нибудь разделителем, который не съест обработчик при сохранении. Обычно используют вертикальный слеш. Пример

Название 1|Название 2

А потом в шаблоне уже проходитесь регуляркой и разбиваете строку на две части. И с этими частями делаете что душе заблагорассудится. Шаблон не забываем переопределять дабы не затерлось при обновлении.
"в шаблоне уже проходитесь регуляркой" ...  даже не понимаю что это значит.  :o
"шаблон не забываем переопределять" .... такая же непонятка.
Объясните пожалуйста по подробнее, если есть такая возможность у Вас. Чтоб народу было ясно "что что на что надевать".  !!!???!!!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 926
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 1523
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 937
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 3674
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 1167
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov