Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

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

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Здравствуйте, форумчане.

Долго мечтал создать собственную сборку на Joomla!
Чисто академический интерес. Приятно сразу установить CMS с уже имеющимися любимыми компонентами, плагинами, шаблонами и тд.

Короче, вопрос такой:
- имеется Joomla! 3.3.6 с уже установленными шаблонами, компонентами, плагинами и тд.

Как ее обратно грамотно собрать?


Сразу скажу, что я знаю про Akeeba BackUp.
Но мне во-первых интересно узнать как можно без нее это сделать. Во-вторых мне не нравится, что акееба сохраняет старый пароль и настройки суперадмина. Я не знаю как отменить это сохранение.

Подскажите пожалуйста качественный гайд. Или дайте совет куда двигаться. Заранее благодарен! *DRINK*

З.Ы:
гуглил, искал. ничего определенного не нашел. Из-за этого и спрашиваю.
« Последнее редактирование: 07.11.2014, 10:40:42 от b2z »
*

SmiP

  • Захожу иногда
  • 264
  • 35 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #1 : 05.11.2014, 22:53:14 »
Создание Quickstart пакета
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #2 : 05.11.2014, 22:57:26 »
Создание Quickstart пакета
Благодарю. Буду курить.
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #3 : 05.11.2014, 23:05:46 »
Создание Quickstart пакета
Немного хочу уточнить. То-есть данные действия можно производить с уже подготовленной и установленной Joomla?
*

SmiP

  • Захожу иногда
  • 264
  • 35 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #4 : 05.11.2014, 23:07:15 »
Шаг 1. ...
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #5 : 05.11.2014, 23:13:48 »
Шаг 1. ...
ага. спс. Неправильно прочитал первое предложение.
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #6 : 06.11.2014, 00:56:25 »
Шаг 1. ...
ну и? Все сделал. Все компоненты и изменения пропали. В итоге установилась голая Joomla.

Проблема остается не реализована.

Ребята. Если не известно как делать сборки на Joomla реально рабочие с заранее установленными компонентами. То как можно в убрать в Akeeba данные админ панели?
« Последнее редактирование: 06.11.2014, 01:46:07 от Ghash »
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #7 : 06.11.2014, 01:32:32 »
Тут немного подробнее - и как раз Ваш случай - наверное, забыли галочку на установку демо данных проставить. По ссылке описано как этого избежать.

http://coding-team.ru/index.php/stati/joomla/kurs-sajt-na-joomla-3x/chast-7-quickstart-distributiv-joomla-so-vstroennym-shablonom
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #8 : 06.11.2014, 01:47:30 »
Тут немного подробнее - и как раз Ваш случай - наверное, забыли галочку на установку демо данных проставить. По ссылке описано как этого избежать.

http://coding-team.ru/index.php/stati/joomla/kurs-sajt-na-joomla-3x/chast-7-quickstart-distributiv-joomla-so-vstroennym-shablonom
Да. В начале забыл. Но потом повторно когда делал. Ничего не поменялось. С утра попробую еще раз. Видимо это меня ночью уже колбасит=)
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #9 : 06.11.2014, 21:33:46 »
Тут немного подробнее - и как раз Ваш случай - наверное, забыли галочку на установку демо данных проставить. По ссылке описано как этого избежать.

http://coding-team.ru/index.php/stati/joomla/kurs-sajt-na-joomla-3x/chast-7-quickstart-distributiv-joomla-so-vstroennym-shablonom
Начал делать по статье. Все шло хорошо уже до самого почти конца. И возникла проблема. При установке демо-данных ничего не происходит. То-есть полоса прогресса просто останавливается и долго грузит. Ждал  сутки. Она так и не сдвинулась. Как оказалось, это у многих кто делает по статье которую вы мне кинули. Там даже недовольные комментарии под этой статьей. Автор статьи не знает почему и как решить. Я даже поверить не могу что запаковать КвикСтарт так геморойно.

Сразу вопрос. Это может быть из-за малого установленного размера в php.ini? Он там стандартно 2М был. Но некоторые компоненты на то ругались, мол мало. Я поставил 10М. Может ему все равно мало?

Это может быть связано с тем что я использую только MySQL,  а не использую MySQLi?
« Последнее редактирование: 06.11.2014, 21:39:13 от Ghash »
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #10 : 06.11.2014, 21:48:51 »
Размер в php.ini сменил с 10М до 60М (не забыл перезагрузить сервер). Ничего не поменялось. Установка производится на localhost.
« Последнее редактирование: 06.11.2014, 22:05:52 от Ghash »
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #11 : 06.11.2014, 22:08:03 »
Сравните свой файл sql с родным. Где-то там собака порылась.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #12 : 06.11.2014, 22:16:37 »
УРА! УРА! После 2-х суток борьбы я вышел победителем! Ребята, запомните на всю жизнь! Когда устанавливаете жирные по размеру сборки, надо отрегулировать в php.ini 2 параметра.
max_execution_time = вместо 100 ОБЯЗАТЕЛЬНО ставим 900
upload_max_filesize = вместо 2М я поставил 60М чтоб точно хватило.

Тема решена.
*

Ghash

  • Захожу иногда
  • 64
  • 2 / 0
Re: Как создать сборку на базе Joomla 3.3 ?
« Ответ #13 : 06.11.2014, 22:18:25 »
Сравните свой файл sql с родным. Где-то там собака порылась.
от меня вам +1 за поддержку. спасибо!=)
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
RE: Как создать сборку на базе Joomla 3.3 ?
« Ответ #14 : 17.12.2014, 10:00:13 »
Цитата: Hishchnik
УРА! УРА! После 2-х суток борьбы я вышел победителем! Ребята, запомните на всю жизнь! Когда устанавливаете жирные по размеру сборки, надо отрегулировать в php.ini 2 параметра.
max_execution_time = вместо 100 ОБЯЗАТЕЛЬНО ставим 900
upload_max_filesize = вместо 2М я поставил 60М чтоб точно хватило.

Тема решена.


при установке Joomla ни чего не загружается же, upload_max_filesize не причем

max_execution_time .... если грамотно почистить файл, убрать стандартные таблицы и оставить только измененные, то файлик будет в разы меньше, и соответственно устанавливаться будет 100%
прошу поправить ответ, дабы не вводить людей в заблуждение  ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться