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

Spacegeorge

  • Захожу иногда
  • 78
  • 0 / 0
Здравствуйте!
Может, кто-нибуть знает почему появляются странные дубли страниц (без CSS стилей), в сапе именуемые "страницы недопустимого Content-type", и как от них избавиться?
Вот некоторые из них:
http://davednik.com/index.php/images/stories/30/index.php?option=com_content&view=article&layout=form&Itemid=2227
http://davednik.com/index.php/images/stories/30/index.php?option=com_content&view=category&layout=blog&id=1495&Itemid=1843
http://davednik.com/index.php/images/stories/30/index.php?option=com_content&view=category&layout=blog&id=1770&Itemid=2086
http://davednik.com/index.php/images/stories/30/index.php?option=com_content&view=category&layout=blog&id=1484&Itemid=1921

Самое ужасное, что они часто открываются при нажатии на пункты меню, что негативно влияет на посещаемость и поведенческие факторы.

Буду благодарен за любую помощь.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
В чём проблема я не понимаю, но попробуйте Избавление от дублей страниц с помощью 301 редиректа
Создание сайтов, шаблонов, помощь в решении проблем.
*

Spacegeorge

  • Захожу иногда
  • 78
  • 0 / 0
В чём проблема я не понимаю, но попробуйте Избавление от дублей страниц с помощью 301 редиректа
Проблема в том, что дубли страниц, которых раньше не было (были и есть другие, но не такие как эти), отображаются некорректно, что, повторюсь, влияет на посещаемость и поведенческие факторы.
Спасибо за совет, но сплагином, который там предлагают, сайт вообще не работает, а если вставить предлагаемые там коды, сайт работает с ошибками - перенаправление все время идет на главную.
*

Spacegeorge

  • Захожу иногда
  • 78
  • 0 / 0
Когда-то я несколько оптимизировал сайт - установил плагин оптимизации баз данных и вписал следующие строки в robots.txt:

Disallow: /index2.php?
Disallow: /editor/
Disallow: /help/
 
... и через некоторое время появилась эта проблема.

Вчера удалил вышеуказанные строки из robots.txt, и дубли при нажатии на пункты меню, вроде как, стали появлятся реже.
Может, проблема в этих строках?
*

Spacegeorge

  • Захожу иногда
  • 78
  • 0 / 0
Вопрос решен. Обновил Joomla до 1.5.26., и проблема исчезла.

Теперь надо удалить дефектные ссылки из Яндекса. http://webmaster.yandex.ru/delurl.xml . Может кто-нибуть знает, как запретить их в robots.txt?
« Последнее редактирование: 22.10.2013, 06:59:21 от Spacegeorge »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где Как удалить атрибуты "type="text/javascript"?

Автор safronoff343

Ответов: 9
Просмотров: 7282
Последний ответ 28.06.2018, 12:08:17
от stydent
Дубли. Товар в разных категориях с одним url-адресом

Автор Yurkel

Ответов: 0
Просмотров: 4266
Последний ответ 03.05.2018, 20:04:08
от Yurkel
Как подключить js не в <head> а в конец страницы.

Автор vanya829

Ответов: 25
Просмотров: 17877
Последний ответ 18.06.2017, 16:37:11
от skytype
Как убрать дубли страниц category_id?

Автор kirillich_s

Ответов: 4
Просмотров: 2021
Последний ответ 29.11.2016, 09:35:22
от kirillich_s
JCH_Optimize Plugin - оптимизирует загрузку страницы. Работает.

Автор Beer

Ответов: 16
Просмотров: 9399
Последний ответ 03.10.2016, 22:33:02
от SeBun