Новости Joomla

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

Новый способ добавления и рендера полей в 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.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

Swimmer

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
VirtueMart 1.1.4 stable
Joomla 1.5.15
sh404SEF 1.5.6.398

Кладу товар в корзину, выбираю режим Впервые в нашем магазине? Пожалуйста, введите Ваши данные. Пробовал вак в режиме Создать учетную запись, так и без.
Ввожу все поля (E-mail*, Адрес доставки*, Телефон* и имя для режима без регистрации) и нажимаю Регистрация.
В следующем окне открывается 1 шаг Адрес доставки, в поле Контактная информация плательщика не отображается ничего (даже E-mail), хотя в предыдущем шаге я вводил ее. Нажимаем на Изменить адрес, видим свои данные введенными в полях, нажимаем Сохранить и опять ничего. Нажимаем Добавить новый Адрес доставки, вводим новые данные и Сохраняем, опять на странице Адреса доставки ничего не отображается.
Плюем на это дело и с активированным (единственный возможный выбор) радиобаттоном - По-умолчанию (тот же, что и контактный) нажимаем Следующий. Проходим все остальные этапы, и в письме все-таки получаем подтверждение об адресах в полях Информация о клиенте и Адрес доставки.

Ребята, подскажите, пожалуйста, как исправить, потому что клиенту будет непонятно как оформить заказ без адреса доставки. Заранее спасибо!
*

zamankul

  • Новичок
  • 9
  • 0 / 0
У меня тоже самое за исключением что дальше не пойдет пишет что не выбран способ доставки ... при этом у пользователя в вся контактная инфа есть на самом деле если зайти в его коттактную информацию... все видно. только при заказе жта фигня происходит... причем я как админ могу сделать заказ и мой адрес доставки виден... соответственно могу сделать заказ.
*

coob

  • Новичок
  • 6
  • 0 / 0
Присоединяюсь
*

InDY

  • Новичок
  • 2
  • 0 / 0
Эта проблема появляется, когда в регистрационных данных не используется страна и имхо штат.
Нужно пофиксить файл ps_checkout.php
В нём нужно найти
Код
function display_address($address_type='BT') {
$auth = $_SESSION['auth'];

$address_type = $address_type == 'BT' ? $address_type : 'ST';

$db = new ps_DB;
$q  = "SELECT * FROM #__{vm}_user_info i ";
$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";

и закоментировать просоединения -
Код
function display_address($address_type='BT') {
$auth = $_SESSION['auth'];

$address_type = $address_type == 'BT' ? $address_type : 'ST';

$db = new ps_DB;
$q  = "SELECT * FROM #__{vm}_user_info i ";
//$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
//$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";

Спасибо sourpuss за инфу нпо решению этой проблемы ;-)

*

xoxma_beer

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
После этих манипуляций всё заработало, но при выборе способа доставки какой бы не выбрал, появляется "Ошибка: Пожалуйста, выберите другой вариант доставки."    что такое опять?



З.Ы.   В тарифах доставки снимите выделение со страны в списке стран и сохраните... после этого у меня перестала эта ошибка выскакивать.
Снял, заработало =)
*

bubaduba

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Делай добро, и отпускай его в море...
Ребята, еще не все...
Когда редактируешь "Адрес доставки*" через админку он также не сохраняется пишет "-default-", а если его нужно отредактировать, то тем самым стирает внесенный клиентом адрес :( Это грустно :( Очень хотелось бы решить проблему.
Есть ли еще варианты что "закоментить"?
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Прошу помощи. Вчера выводился адрес доставки на последнем шаге "Пожалуйста, проверьте введенные данные и подтвердите заказ!", сегодня нет полей страна и город.
Комментирование в ps_checkout.php приводит к тому, что эти же поля пропадают на всех остальных шагах оформления. Файл get_final_confirmation.tpl.php не изменялся.

Присоединяюсь к предыдущему сообщению - что ещё можно сделать или проверить?
*

sevangog

  • Осваиваюсь на форуме
  • 34
  • 3 / 0
З.Ы.   В тарифах доставки снимите выделение со страны в списке стран и сохраните... после этого у меня перестала эта ошибка выскакивать.
Снял, заработало =)
Спасибо огромное! У меня при выделенной стране вообще не отображались варианты доставки.. Снял выделение - и заработало!! О , вирт, ты просто прелесть ))) без форума ни в жизни не докопался до истины! Лови +!
*

alex-143390

  • Захожу иногда
  • 92
  • 0 / 0
Эта проблема появляется, когда в регистрационных данных не используется страна и имхо штат.
Нужно пофиксить файл ps_checkout.php
В нём нужно найти
Код
function display_address($address_type='BT') {
$auth = $_SESSION['auth'];

$address_type = $address_type == 'BT' ? $address_type : 'ST';

$db = new ps_DB;
$q  = "SELECT * FROM #__{vm}_user_info i ";
$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";

и закоментировать просоединения -
Код
function display_address($address_type='BT') {
$auth = $_SESSION['auth'];

$address_type = $address_type == 'BT' ? $address_type : 'ST';

$db = new ps_DB;
$q  = "SELECT * FROM #__{vm}_user_info i ";
//$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
//$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";

Спасибо sourpuss за инфу нпо решению этой проблемы ;-)



Спасибо! Очень помогло!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Номер заказа в модуле

Автор sashgera

Ответов: 0
Просмотров: 3198
Последний ответ 28.02.2016, 22:44:30
от sashgera
One Page Checkout (оформление заказа на одной странице) - Скрыть поле по выбору радиобаттон

Автор sashgera

Ответов: 1
Просмотров: 3945
Последний ответ 23.09.2015, 06:02:39
от sashgera
Зависимый селект при оформлении заказа

Автор sashgera

Ответов: 1
Просмотров: 3315
Последний ответ 29.07.2015, 01:01:23
от orsy
Вывод номера заказа на странице сайта после его подтверждения

Автор redsowet

Ответов: 0
Просмотров: 3389
Последний ответ 02.03.2015, 16:49:22
от redsowet
Форма с полями для заполнения при оформлении заказа

Автор sashgera

Ответов: 4
Просмотров: 4193
Последний ответ 12.02.2015, 20:36:53
от sashgera