Новости 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 Гость просматривают эту тему.
  • 35 Ответов
  • 13531 Просмотров
*

murat

  • Захожу иногда
  • 261
  • 13 / 0
Добавить поле в форму
« : 25.04.2011, 09:58:50 »
Как добавить поле в форму регистрации, адреса и т.д. Нужно добавить поле "отчество".
*

murat

  • Захожу иногда
  • 261
  • 13 / 0
Re: Добавить поле в форму
« Ответ #1 : 25.04.2011, 10:04:03 »
Версия Joomshopping 3.1.2.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Добавить поле в форму
« Ответ #2 : 25.04.2011, 11:52:58 »
Существуют поля
дополнительное поле 1, дополнительное поле 2, дополнительное поле 3
их можно переименовать.
*

murat

  • Захожу иногда
  • 261
  • 13 / 0
Re: Добавить поле в форму
« Ответ #3 : 25.04.2011, 12:12:47 »
Это можно сделать в настройках или в коде?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Добавить поле в форму
« Ответ #4 : 25.04.2011, 12:30:14 »
В файлах перевода,
components\com_jshopping\lang\ru-RU.php
меняем

define('_JSHOP_EXT_FIELD_1', 'Дополнительное поле 1');

на

define('_JSHOP_EXT_FIELD_1', 'Текст...');
*

murat

  • Захожу иногда
  • 261
  • 13 / 0
Re: Добавить поле в форму
« Ответ #5 : 25.04.2011, 16:53:16 »
Понял, спасибо.
*

gamletjlo

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
  • R U ready?
Re: Добавить поле в форму
« Ответ #6 : 17.03.2012, 09:51:31 »
Переименовать конечно можно, но в этом случае в письме, подтверждающем оформление заказа, в графе Ф.И.О будет только имя и фамилия, а отчество укажется отдельной графой, что не есть красиво. Содержимое этих полей где-то сплюсовывается, найти  бы еще где :-)
*

AlexSF

  • Давно я тут
  • 678
  • 68 / 0
  • В споре истина рождается
Re: Добавить поле в форму
« Ответ #7 : 17.03.2012, 10:26:43 »
/components/com_jshopping/templates/ваш_шаблон/checkout/orderemail.php
в районе 112 стр.
Код: php
<tr>
    <td width = "100"><?php print _JSHOP_FULL_NAME?>:</td>
    <td><?php print $this->order->f_name?> <?php print $this->order->l_name?></td>
</tr>
//Делаете так:
<tr>
    <td width = "100"><?php print _JSHOP_FULL_NAME?>:</td>
    <td><?php print $this->order->f_name?> <?php print $this->order->l_name?> <?php print $this->order->ext_field_1?></td>
</tr>


При этом затираете <?php print _JSHOP_EXT_FIELD_1?>: (строка 205) И <?php print $this->order->ext_field_1?>(строка 206)

Это при условии соблюдения:
В файлах перевода,
components\com_jshopping\lang\ru-RU.php
меняем

define('_JSHOP_EXT_FIELD_1', 'Дополнительное поле 1');

на

define('_JSHOP_EXT_FIELD_1', 'Текст...');
« Последнее редактирование: 17.03.2012, 10:52:42 от AlexSF »
Задаёте вопрос - не забудьте приложить ссылку на проблемный сайт
При проблеме с CSS рекомендую использовать Mozilla Firefox и её плагин FireBug
И по максимуму изучите, или поставьте в закладки - http://htmlbook.ru/css
Notepad++ поможет почти в любом деле
*

gamletjlo

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
  • R U ready?
Re: Добавить поле в форму
« Ответ #8 : 17.03.2012, 10:52:02 »
Да, спасибо. Правда, я уже сам сообразил :-)  Еще моментик...конструкции <?php print $this->order->f_name?> и <?php print $this->order->l_name?> нужно поменять местами, чтобы фамилия была первой.
*

b_jam

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Добавить поле в форму
« Ответ #9 : 26.06.2012, 23:38:43 »
Народ, подскажите, пожалуйста, в каком файлике менять местами поля формы регистрации. Замучался уже искать. Отчество добавить получилось, а вот поднять его выше в форме никак.
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Добавить поле в форму
« Ответ #10 : 26.06.2012, 23:51:36 »
ну если Вы нашли где править и добавлять пля, то там же и поднимите блок для отчества.
если остается на месте. чистим кеш :) и жмем Ф5
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

b_jam

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Добавить поле в форму
« Ответ #11 : 26.06.2012, 23:58:58 »
Спасибо за оперативность! Сейчас пробую. Отпишусь по результату )
*

b_jam

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Добавить поле в форму
« Ответ #12 : 27.06.2012, 00:05:55 »
Наверное не так сформулировал вопрос. Как поднять поле «Отчество» в самой форме регистрации на сайте. Не в письмах и т.д., а в форме, которую пользователь видит на сайте при регистрации. Не могу найти.
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Добавить поле в форму
« Ответ #13 : 27.06.2012, 00:19:16 »
/components/com_jshopping/templates/default/user/register.php
Отвечает за регистрацию.
Но отчества я там что-то не вижу :)
Если Вы его добавили, то и поле в таблице я так понимаю тоже добавили ?
ну собствено тогда по аналогии с неймом сделайте его вывод в форме регистрации.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

b_jam

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Добавить поле в форму
« Ответ #14 : 27.06.2012, 00:37:32 »
Поле в форму регистрации добавил  ^-^ Спасибо за наводочку. Надо еще потестить.
*

BlindTork

  • Новичок
  • 4
  • 0 / 0
Re: Добавить поле в форму
« Ответ #15 : 09.04.2013, 14:37:50 »
Добрый день! скажите пожалуйста какие именно файлики ковырять чтобы поля добавились везде (в регистрации, в админке, в доставке и так далее), заранее спасибо, везде искал надеюсь на вас!
*

BlindTork

  • Новичок
  • 4
  • 0 / 0
Re: Добавить поле в форму
« Ответ #16 : 10.04.2013, 13:50:05 »
спасибо за оперативность
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Добавить поле в форму
« Ответ #17 : 10.04.2013, 13:51:33 »
пжлст
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

BlindTork

  • Новичок
  • 4
  • 0 / 0
Re: Добавить поле в форму
« Ответ #18 : 11.04.2013, 06:45:54 »
пжлст
а все таки можно расписать какие файлы подвергнуть редактированию я сообразить не могу, а как их отредактировать?
*

nevigen

  • Moderator
  • 10449
  • 863 / 25
  • http://n*****n.com
Re: Добавить поле в форму
« Ответ #19 : 11.04.2013, 09:02:29 »
простите, я не могу....
не хватает знаний... :(
с удовольствием тоже узнал бы если бы кто то умный написал....
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

BlindTork

  • Новичок
  • 4
  • 0 / 0
Re: Добавить поле в форму
« Ответ #20 : 11.04.2013, 09:55:54 »
а как перенести под спойлер под тот что "Тип Клиента" когда выберешь "фирма" появляются  еще два поля, как туда же под этот спойлер перенести доп поля?
*

wilgelm11

  • Новичок
  • 1
  • 0 / 0
Re: Добавить поле в форму
« Ответ #21 : 17.07.2013, 11:33:45 »
помоготите пожалуйста. не могу сообразить как добавить в JoomShopping ещё 1 форму в которой будет загрузка изображения клиента, то есть его аватарки! если можно пошагово и с примерами кода! заранее большое спасибо!
*

xmocartx

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Добавить поле в форму
« Ответ #22 : 01.10.2013, 19:29:52 »
Где эти поля сохраняются в базе?
*

xmocartx

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Добавить поле в форму
« Ответ #23 : 01.10.2013, 19:31:39 »
Где эти поля сохраняются в базе?

Нашел - *****_jshopping_orders
*

matrioshka

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Добавить поле в форму
« Ответ #24 : 05.10.2013, 12:59:59 »
добрый день!
ПОдскажите, как сделать, чтобы это Доп.поле было выпадающим? Просто я хочу засунуть способ доставки прямо в шаг, где указывается адрес, и чтобы можно было просто выбрать одно из двух слов в этом поле "Самовывоз" или "Доставка".
*

vo26

  • Новичок
  • 1
  • 0 / 0
Re: Добавить поле в форму
« Ответ #25 : 21.12.2014, 09:15:26 »
Существуют поля
дополнительное поле 1, дополнительное поле 2, дополнительное поле 3
их можно переименовать.
А можно ли добавить поле типа файл (загрузка файла) при оформлени заказа требуется документ jpg (может это можно реализовать в виде аватара), короче требуется при регистрации загрузка файла. Реально такое сделать?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Добавить поле в форму
« Ответ #26 : 23.12.2014, 09:00:56 »
А можно ли добавить поле типа файл (загрузка файла) при оформлени заказа требуется документ jpg (может это можно реализовать в виде аватара), короче требуется при регистрации загрузка файла. Реально такое сделать?
Расширенные типы свободных атрибутов JoomShopping
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

dmitry77787

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
  • Процветание-естественная форма жизни!
Re: Добавить поле в форму
« Ответ #27 : 11.10.2015, 00:25:11 »
Народ, подскажите, пожалуйста, в каком файлике менять местами поля формы регистрации. Замучался уже искать. Отчество добавить получилось, а вот поднять его выше в форме никак.
Если используете магазин с оформлением заказа сразу то здесь /components/com_jshopping/templates/default/checkout
в файле adress.php должно быть так
Код
<td class="name">

            <?php print _JSHOP_L_NAME ?> <?php if ($config_fields['l_name']['require']){?><span>*</span><?php } ?>

          </td>

          <td>

            <input type = "text" name = "l_name" id = "l_name" value = "<?php print $this->user->l_name ?>" class = "inputbox" />

          </td>

        </tr>

        <?php } ?>

        <?php if ($config_fields['f_name']['display']){?>

        <tr>

          <td class="name">

            <?php print _JSHOP_F_NAME ?> <?php if ($config_fields['f_name']['require']){?><span>*</span><?php } ?>

          </td>

          <td>

            <input type = "text" name = "f_name" id = "f_name" value = "<?php print $this->user->f_name ?>" class = "inputbox" />

          </td>

        </tr>

        <?php } ?>

        <?php if ($config_fields['m_name']['display']){?>

        <tr>

          <td class="name">

            <?php print _JSHOP_M_NAME ?> <?php if ($config_fields['m_name']['require']){?><span>*</span><?php } ?>

          </td>

          <td>

            <input type = "text" name = "m_name" id = "m_name" value = "<?php print $this->user->m_name ?>" class = "inputbox" />

          </td>

        </tr>
« Последнее редактирование: 11.10.2015, 00:45:51 от dmitry77787 »
*

Ruslan Chester

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Re: Добавить поле в форму
« Ответ #28 : 09.05.2017, 22:15:48 »
Попробовал решить пустяковую задачу создать "дополнительное поле 4" по аналогии с дефолтными тремя доп. полями(нашел во всем проекте все что связано с "ext_field_" и добавил свой). В результате создал и в админ панели и при оформлении заказа свое доп поле, но данные не отображаются в полученном заказе(само поле есть, но нет содержания).И еще, при обязательном заполнении поля -валидацию оно не проходит. Варианты обхода  без создания доп поля у меня есть, но может кто с ходу скажет в чем ошибка и где копать. Может кто модуль посоветует, чтобы там и чекбоксы были и выпадающие списки, а то редактировать файлы не в своем шаблоне и придумывать велосипед не охота.  
« Последнее редактирование: 09.05.2017, 22:22:27 от Ruslan Chester »
*

jesus

  • Захожу иногда
  • 130
  • 15 / 1
  • ищу программиста
Re: Добавить поле в форму
« Ответ #29 : 04.08.2020, 14:24:06 »
А может кто посоветует, как добавить поле dropdown (выпадающий список) в форму регистрации?
Спасибо за freeware!
Если вы готовы небезвозмездно ответить на мой вопрос, с удовольствием рассмотрю предложение.
Ищу адекватного партнёра (программиста) по разработке сайтов на Joomla. Обеспечу ненапряжный поток задач.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить кнопку 'В корзину'

Автор Indexxx

Ответов: 16
Просмотров: 3073
Последний ответ 13.09.2023, 10:42:25
от kit2m2
Как добавить Title при загрузки картинки?

Автор art22

Ответов: 16
Просмотров: 1389
Последний ответ 04.05.2023, 17:21:50
от art22
Как добавить код в <head> в отдельные товары JoomShopping?

Автор Hugo

Ответов: 3
Просмотров: 2958
Последний ответ 01.03.2023, 12:07:42
от Hugo
Как добавить кнопки сортировки в модуль Sj Extra Slider for JoomShopping?

Автор Ravil

Ответов: 3
Просмотров: 1324
Последний ответ 14.06.2022, 16:37:53
от kit2m2
Под атрибуты или как добавить разделы в атрибуты?

Автор itbc

Ответов: 12
Просмотров: 1306
Последний ответ 19.02.2022, 15:15:03
от itbc