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

fl

  • Новичок
  • 4
  • 0 / 0
Использую шаблон "blueface" возможно ли, чтобы профиль пользователя отображался на всех страницах, во всех вкладках - "Друзья, Приложения, Сообщения" а не только во вкладке "Мой профиль". Как его подключить к остальным страницам? Помогите, пожалуйста советом или примером в виде кода. Модуль "Hello Me" для этого не подходит, так как отображает только пользователя этого аккаунта, а нужно, чтобы при переходе к другому пользователю отображался его профиль, это и сделано на странице "Мой профиль", вопрос как его подключить ко всей социалке? Профиль пользователя в этом шаблоне выведен в левую колонку, находится в файле profile.index.php на рисунке показан стрелкой и имеет код -


Код
<!-- begin: .cSidebar -->
        <div class="cSidebar clrfix">
            <div class="profile-avatar"><img src="<?php echo $user->getAvatar(); ?>" alt="<?php echo $user->getDisplayName(); ?>"/></div>
            <div class="profile-likes"><span id="like-container"><?php echo $likesHTML; ?></span></div>
            <?php if( $config->get('enablevideos') ){ ?>
                        <?php if( $config->get('enableprofilevideo') ){ ?>
<div style="text-align: center;"><a class="icon-videos" onclick="joms.videos.playProfileVideo( <?php echo $videoid; ?> , <?php echo $user->id; ?> )" href="javascript:void(0);"><?php echo JText::_('CC MY PROFILE VIDEO');?></a></div>
<?php } ?>
                        <?php } ?>
<div>&nbsp;</div>


<?php
$karmaImgUrl = CUserPoints::getPointsImage($user);
echo JText::_('CC KARMA');
 ?>
<img src='<?php echo $karmaImgUrl; ?>' alt="" />
            <?php $this->renderModules( 'js_side_top' ); ?>
<?php $this->renderModules( 'js_profile_side_top' ); ?>
<?php echo $sidebarTop; ?>                   
            <?php echo $friends; ?>
            <?php if( $config->get('enablegroups')){ ?>
            <?php echo $groups; ?>
            <?php } ?>
            <?php echo $sidebarBottom; ?>
            <?php $this->renderModules( 'js_profile_side_bottom' ); ?>
            <?php $this->renderModules( 'js_side_bottom' ); ?>
        </div>
        <!-- end: .cSidebar -->

Надо, чтобы отображался как например в facebooke т.е постоянно в левом верхнем углу.


*

SuperStar

  • Захожу иногда
  • 63
  • 2 / 0
  • Мега Мозг
А вы не можете на этот шаблончик ссылочку выложить?)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

позиции модулей JomSocial и их отображение - sufix

Автор arturk

Ответов: 42
Просмотров: 22220
Последний ответ 13.06.2020, 14:10:26
от ademar
Ошибки после установки JomSocial.

Автор DKsN

Ответов: 80
Просмотров: 24772
Последний ответ 06.03.2016, 23:55:31
от Amigos
Вывод "обо мне" в боковом меню

Автор glebik

Ответов: 0
Просмотров: 3496
Последний ответ 12.06.2015, 12:19:52
от glebik
[Решено] JomSocial Как перенести правую колону (обо мне, последние группы, кто в сети и т.д.) с прав

Автор galemus

Ответов: 15
Просмотров: 7613
Последний ответ 29.11.2014, 23:43:36
от ingavr
Делаем адекватное меню в JomSocial.

Автор nolimits4web

Ответов: 38
Просмотров: 28608
Последний ответ 11.11.2014, 17:19:49
от kasper9820