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

waw555

  • Захожу иногда
  • 118
  • 2 / 0
Здравствуйте!

Скажите пожалуйста как вынести иконки, которые в toolbar находятся, в другое меню. Интересуют иконки с сообщениями, предложениями о дружбе и оповещения. Есть меню в шаблоне YouGrids, хочу в него вынести эти иконки. Естественно, если пользователь авторизован, то они видны, а если нет, то не видны. Внести иконки пробовал, но могу только визуально их вынести, скрипты подключить к ним не могу из за этого они не функционируют как положено.

Заранее спасибо!
*

sva-pro

  • Новичок
  • 4
  • 0 / 0
Re: Иконки из toolbar в другое меню
« Ответ #1 : 20.02.2012, 18:43:04 »
С тем же самым мучаюсь уже третий день. Неужели никто не знает? Вообще без этого весь JomSocial теряет весь смысл... Например если пользователь лазит по страницам сайта, например форуму или статьям с новостями, каким образом он узнает что ему пришло сообщение или предлагают дружбу? Каждый раз заходить в сообщения? Кому это понравится?

Так как же сделать ответ на вопрос выше? Неужели никто не знает?
*

sva-pro

  • Новичок
  • 4
  • 0 / 0
Re: Иконки из toolbar в другое меню
« Ответ #2 : 22.02.2012, 16:40:52 »
Здравствуйте!

Скажите пожалуйста как вынести иконки, которые в toolbar находятся, в другое меню. Интересуют иконки с сообщениями, предложениями о дружбе и оповещения. Есть меню в шаблоне YouGrids, хочу в него вынести эти иконки. Естественно, если пользователь авторизован, то они видны, а если нет, то не видны. Внести иконки пробовал, но могу только визуально их вынести, скрипты подключить к ним не могу из за этого они не функционируют как положено.

Заранее спасибо!
Ну подскажи пожалуйста, как решилась проблема? ОООчень нужно!
*

sva-pro

  • Новичок
  • 4
  • 0 / 0
Re: Иконки из toolbar в другое меню
« Ответ #3 : 22.02.2012, 16:41:42 »
Люди! За деньгу решите вопрос! Очень надо!
*

sva-pro

  • Новичок
  • 4
  • 0 / 0
Re: Иконки из toolbar в другое меню
« Ответ #4 : 25.02.2012, 13:20:36 »
мастера пособрались, не то что решить проблему, даже ответить никто не может...
*

Demias

  • Захожу иногда
  • 244
  • 2 / 0
Re: Иконки из toolbar в другое меню
« Ответ #5 : 10.04.2012, 10:29:44 »
Например если пользователь лазит по страницам сайта, например форуму или статьям с новостями, каким образом он узнает что ему пришло сообщение или предлагают дружбу? Каждый раз заходить в сообщения? Кому это понравится?

Так как же сделать ответ на вопрос выше? Неужели никто не знает?

Чтобы видеть новые сообщения и т.п. поставте модуль Hello Me.


По вопросу переноса кнопок - копируйте ВЕСЬ код кнопки и вставляйте в нужное место. Должно работать.
*

kasper9820

  • Захожу иногда
  • 127
  • 4 / 6
  • ...ISponsor!
Re: Иконки из toolbar в другое меню
« Ответ #6 : 11.11.2014, 14:12:05 »
Простым копированием не обойтись. Можно создать меню с использованием IceMegaMenu там есть такие возможности и даже более того. Решение бесплатное
*

kasper9820

  • Захожу иногда
  • 127
  • 4 / 6
  • ...ISponsor!
Re: Иконки из toolbar в другое меню
« Ответ #7 : 11.11.2014, 14:12:20 »
Всем добрый день!
Помогите решить такую (интересную) задачу:
Как известно JomSocial выводит ToolBar только внутри компонента. Для реализации серьезных проектов этого крайне недостаточно.
Для решения этой зада (для вывода ToolBar) других местах сайта я использовал модуль Knu JS Community Menue Everywhere.
Модуль предельно просто, но без допиливания все равно не обойтись.
Этот модуль выводит ToolBar где угодно но не в самом компоненте JomSocial.
Казалось бы ничего существенного, но:
В такой связке ToolBar выводиться в разных местах а вся CSS стилизация влияет на оба ToolBar.

Моя задача выводить ToolBar на всем сайте в строго одном месте (скажем в топе сайте)
Я не хочу выводить ToolBar в пределах компонента JomSocial в стандартном для него месте (отключение в ПУ привод к отключению его и в модуле - этот вариант не подходит)

Модуль Knu JS Community Menue Everywhere я допилил отрезав условие выводить ToolBar только вне JomSocial.
Теперь получается, что ToolBar выводиться везде, но в пределах JomSocial он дублируется стандартным из самого компонента.

Облазил все файлики шаблона. В них ToolBar - это toolbar.header.php, toolbar.index.php, toolbar.submenu.php
Они вызываются контролером, который создается на лету.

Проще говоря я не нашел того места, в котором вызывается стандартный ToolBar в стандартное место (чтобы комментировать эти строчки)

Прошу помочь разобрать или предложить альтернативные пути решения.

Код
<?php

defined('_JEXEC') or die('Restricted access');
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);

require_once( JPATH_ROOT . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php');
$ich = CFactory::getUser();
$online =  $ich->isOnline();


CFactory::load( 'libraries' , 'toolbar' );
$toolbar_lib = CToolbarLibrary::getInstance();
$jinput = JFactory::getApplication()->input;
$optionkompo = $jinput->get('option');
$knu_doc = JFactory::getDocument();



echo '<div class="'.$params->get('moduleclass_sfx').'">'; // moduleclass_sfx
echo '<div id="community-wrap" style="margin-bottom:0px! important;min-height:0px! important;" >';
echo $toolbar_lib->getHTML();
echo '</div></div><div style="clear:both;"></div>';

?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод "обо мне" в боковом меню

Автор glebik

Ответов: 0
Просмотров: 3495
Последний ответ 12.06.2015, 12:19:52
от glebik
Проблема с выпадающим меню

Автор Amige

Ответов: 0
Просмотров: 3880
Последний ответ 06.03.2015, 07:29:51
от Amige
Делаем адекватное меню в JomSocial.

Автор nolimits4web

Ответов: 38
Просмотров: 28607
Последний ответ 11.11.2014, 17:19:49
от kasper9820
Меню JomSocial и его возможности

Автор fajesta

Ответов: 2
Просмотров: 4963
Последний ответ 11.11.2014, 14:13:01
от kasper9820
Пропало верхнее меню в профиле

Автор JomTime

Ответов: 6
Просмотров: 2400
Последний ответ 14.01.2013, 19:47:13
от N2uM