Новости 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 Ответов
  • 3212 Просмотров
*

denator

  • Захожу иногда
  • 52
  • 0 / 0
Название сайта в footer
« : 28.05.2013, 09:28:11 »
Здравствуйте!

Как убрать название сайта из Footer Joomla 3? Снизу постоянно выводится название сайта вида: © 2013 "Название сайта"
Даже если убрать название сайта из настроек, то все равно выводится "© 2013"
Все модули Footer отключены.

Спасибо
*

AL_ALEX

  • Глобальный модератор
  • 855
  • 112 / 1
Re: Название сайта в footer
« Ответ #1 : 28.05.2013, 09:33:23 »
Значит нужно открыть файл отвечающий за вывод футора и убрать необходимые строчки.
*

denator

  • Захожу иногда
  • 52
  • 0 / 0
Re: Название сайта в footer
« Ответ #2 : 30.05.2013, 10:20:40 »
Тогда другой вопрос: Где этот файл?

Я в /modules/mod_footer/mod_footer.php нашел вот такой код

Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_footer
 *
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$app = JFactory::getApplication();
$date = JFactory::getDate();
$cur_year = $date->format('Y');
$csite_name = $app->getCfg('sitename');

if (JString::strpos(JText :: _('MOD_FOOTER_LINE1'), '%date%'))
{
$line1 = str_replace('%date%', $cur_year, JText :: _('MOD_FOOTER_LINE1'));
}
else {
$line1 = JText :: _('MOD_FOOTER_LINE1');
}

if (JString::strpos($line1, '%sitename%'))
{
$lineone = str_replace('%sitename%', $csite_name, $line1);
}
else {
$lineone = $line1;
}

$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require JModuleHelper::getLayoutPath('mod_footer', $params->get('layout', 'default'));

Почти все что похоже на вывод названия сайта закомментил

Код
$app		= JFactory::getApplication();
$date = JFactory::getDate();
$cur_year = $date->format('Y');
$csite_name = $app->getCfg('sitename');

if (JString::strpos(JText :: _('MOD_FOOTER_LINE1'), '%date%'))
{
$line1 = str_replace('%date%', $cur_year, JText :: _('MOD_FOOTER_LINE1'));
if (JString::strpos($line1, '%sitename%'))
{
$lineone = str_replace('%sitename%', $csite_name, $line1);
Но все равно выводит название. Может в каком то другом файле?
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Название сайта в footer
« Ответ #3 : 30.05.2013, 10:21:34 »
Смотрите в index.php шаблона.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

denator

  • Захожу иногда
  • 52
  • 0 / 0
Re: Название сайта в footer
« Ответ #4 : 30.05.2013, 12:20:44 »
Отлично! В index файле было. Большое спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Непонятное отображение одной страницы сайта

Автор itbc

Ответов: 12
Просмотров: 1023
Последний ответ 14.12.2020, 13:42:32
от itbc
Изменение размера логотипа для сайта в шаблоне

Автор kunsaid

Ответов: 5
Просмотров: 1121
Последний ответ 03.12.2020, 20:08:56
от kunsaid
Как вывести заголовок модуля в тег h2, название материалов в h3?

Автор vova630

Ответов: 4
Просмотров: 1221
Последний ответ 16.08.2020, 16:54:33
от vova630
Настройка комментов посетителей сайта в Helix Ultimate

Автор xandr555

Ответов: 4
Просмотров: 1799
Последний ответ 25.12.2019, 04:06:41
от Cedars
Кнопка меню offcanvas в мобильной версии сайта на Helix 3 не кликабельна

Автор Taxagent007

Ответов: 26
Просмотров: 1944
Последний ответ 12.11.2019, 17:59:11
от Any_Color