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

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Дорогие Друзья, помогите !
Установила шаблон jm-services с демо данными. Английский текст он показывает хорошо.
Русский текст показывает только на главной странице, на других же страница иероглифы если текст русский.
Подскажите в чем может быть причина и как исправит?
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Вставьте строку AddDefaultCharset utf-8 в файл .htaccess
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Вставьте строку AddDefaultCharset utf-8 в файл .htaccess

пробовала не погает
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Если использую другой макет все отображается хорошо
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Ссылка на сайт есть ?

Нет он пока локально на денвере
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0


вот так все выглядит

Хотя на главной вроде все хорошо
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Для главной и внутренних разные шоблоны назначены или один ?
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Для главной и внутренних разные шоблоны назначены или один ?

Один шаблон
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Иероглифы появляются если я перехожу по ссылке меню с русским текстом, если по ссылке с английским текстом все хорошо
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Попробуйте другой шаблон выбрать, если будет все нормально значит дело в шаблоне .
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Попробуйте другой шаблон выбрать, если будет все нормально значит дело в шаблоне .

Решение конечно верное.
Но все дело в том, что шаблон нужен именно этот, поэтому сюда и пишу что бы решить проблему.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
В блок head прописан <meta charset="utf-8">?
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Решение конечно верное.
Но все дело в том, что шаблон нужен именно этот, поэтому сюда и пишу что бы решить проблему.
Я не предлагаю совсем менять шаблон, просто на время включив другой шаблон вы увидите проблема в шаблоне или нет .
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
В блок head прописан <meta charset="utf-8">?

Подскажите где посмотреть этот блок
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Я не предлагаю совсем менять шаблон, просто на время включив другой шаблон вы увидите проблема в шаблоне или нет .

Проблема в шаблоне. На другом шаблоне все хорошо
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Подскажите где посмотреть этот блок

В зависимости от фреймворка, на котором сделан шаблон, это может правиться в разных местах. В стандартном джумловском это index.php в корне шаблона.
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
В зависимости от фреймворка, на котором сделан шаблон, это может правиться в разных местах. В стандартном джумловском это index.php в корне шаблона.

index.php в корне шаблона выглядит так

<?php

/*--------------------------------------------------------------
# Copyright (C) joomla-monster.com
# License: http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
# Website: http://www.joomla-monster.com
# Support: info@joomla-monster.com
---------------------------------------------------------------*/

defined('_JEXEC') or die;

if (!defined('JMF_EXEC')) {
   throw new Exception(JText::_('TPL_JMTEMPLATE_MISSING_JFM'));
}

include_once(JMF_TPL_PATH.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'jm_template.php');

$jmtpl = new JMTemplate($this);
$jmtpl->renderScheme('default');
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Код: php
include_once(JMF_TPL_PATH.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'jm_template.php');
Видимо, продолжение здесь: jm_template.php ^-^
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Код: php
include_once(JMF_TPL_PATH.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'jm_template.php');
Видимо, продолжение здесь: jm_template.php ^-^

Вот что там
Спойлер
[свернуть]
« Последнее редактирование: 11.05.2016, 18:55:05 от Galina2307 »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3


Вам лучше в поддержку joomla-monster.com писать. Код выше очень сильно отличается от стандартного шаблонного Joomla.
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0


Вам лучше в поддержку joomla-monster.com писать. Код выше очень сильно отличается от стандартного шаблонного Joomla.

А правки надо в этом коде делать?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Нет. У вас где-то в другом файле блок head генерится.
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Нет. У вас где-то в другом файле блок head генерится.

это он? называется head лежит в www\templates\jm-services\tpl\blocks

Спойлер
[свернуть]
« Последнее редактирование: 11.05.2016, 18:52:59 от Galina2307 »
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
это он? называется head лежит в www\templates\jm-services\tpl\blocks
Да .
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Не надо такие большие куски кода вставлять в сообщения, для этого есть спойлер .
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
Не надо такие большие куски кода вставлять в сообщения, для этого есть спойлер .

Хорошо больше не буду так делать) Поможете разобраться с кодом?)
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
После
<!-- use latest ie engine -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Добавьте
<meta charset="utf-8">
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
После
<!-- use latest ie engine -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Добавьте
<meta charset="utf-8">

Не помогло((
*

Galina2307

  • Захожу иногда
  • 117
  • 0 / 0
есть еще файл header лежит там же www\templates\jm-services\tpl\blocks

Может в нем что то еще поправить надо?

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

Привязанные к главной странице модули отображаются на страницах 3-го уровня

Автор Roman_S

Ответов: 3
Просмотров: 919
Последний ответ 08.06.2021, 15:10:53
от Roman_S
Несколько главных меню на разных страницах

Автор Egoritch

Ответов: 1
Просмотров: 792
Последний ответ 03.06.2021, 10:22:22
от draff
Ари екст меню - вывод не на всех страницах

Автор ssaich

Ответов: 16
Просмотров: 1439
Последний ответ 20.04.2021, 06:25:33
от ssaich
Мультиязычное меню в Helix-2 (Joomshaper) - отображается только одно из

Автор Арим

Ответов: 4
Просмотров: 2911
Последний ответ 14.04.2021, 21:34:14
от nsklital
Убрать вывод модулей на страницах не выведенных в меню

Автор SynergyIT

Ответов: 5
Просмотров: 1233
Последний ответ 13.04.2021, 10:31:15
от fbr