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

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Задача вроде простая: Показывать только категории 2-го уровня но в отличие от модуля в шаблоне категориям не присваивается level

Может кто знает как отсеять или присвоить level не пользуясь модулем?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в отличие от модуля в шаблоне категориям не присваивается level

это вполне логично. особенно учитывая то, что категории по уровням в компоненте не показываются в принципе.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
То что в компоненте выводятся только текущие подкатегории и присваивать им уровень нет смысла, с этим некто не спорит

Но задачи у всех разные, жозможно ли мою решить без хака?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
вы не понимаете, о чем я? в базе выводятся только текущие подкатегории. если вы выводите не только их, то откуда кто знает, как вы это делаете, чтобы подсказать вам, где ошибка?

ау, тут есть экстрасенсы? помогите пожалуйста человеку. объясните ему на расстоянии, а заодно и всем остальным, кто так вопросы любит задавать, что это делать и ждать потом помощи - бесперспективно :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Не как не могу понять почему Вы решили что в компоненте выводится что то еще.
В компоненте выводятся только текущие категории и не чего более! (Так выводится по умолчанию)

Перефразирую вопрос:
Нужно чтобы в компоненте не показывались (не выводились) категории 1-го 3-го 4-го итп.. уровня
кроме 2-го

Если детально -
Вы находитесь в категории уровень-1 - Выводятся категории 2-го уровня (по умолчанию)
Вы находитесь в категории уровень-2 - Категории не выводятся
Вы находитесь в категории уровень-3 - Категории не выводятся
Вы находитесь в категории уровень-4 - Категории не выводятся
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Боюсь ошибиться, но развив свои телепатические способности, попробую перефразировать.
Есть многоуровневый каталог, с несколькими категориями 1-го уровня в которых есть категории 2-го, 3-го ... уровней.
Нужно со всех категорий 1-го уровня вывести все категории 2-го уровня на одной странице.
Например:
Код
Категория 1
-- Категория 1.1
-- Категория 1.2
-- Категория 1.3
Категория 2
-- Категория 2.1
-- Категория 2.2
Надо, чтобы на странице были только:
Код
-- Категория 1.1
-- Категория 1.2
-- Категория 1.3
-- Категория 2.1
-- Категория 2.2
Правильно?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
ау, тут есть экстрасенсы?
Я - экстрасенс! ХайВей,
жозможно ли мою решить без хака?
без хака - нет, жозможно - тем более.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Правильно?
Не совсем так, все проще:
Код
Категория 1
-- Категория 1.1
-- -- Категория 1.1.1 - (Не показывать)
-- -- Категория 1.1.2 - (Не показывать)
-- Категория 1.2
-- -- Категория 1.2.1 - (Не показывать)
-- -- Категория 1.2.1 - (Не показывать)
Категория 2
-- Категория 2.1
-- -- Категория 2.1.1 - (Не показывать)
-- -- Категория 2.1.2 - (Не показывать)
И когда Вы заходите в категорию Категория 1.1 (2-й уровень) по умолчанию в компоненте выводятся
Категория 1.1.1 и Категория 1.1.2
Мне же нужно их просто не выводить, чтобы было так:
Код
Категория 1
-- Категория 1.1
-- Категория 1.2
Категория 2
-- Категория 2.1


без хака - нет
Эта печалька :/
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Тогда создайте отдельный файл шаблона категории и удалите список категорий.
Файл положите рядом с этим файлом:
Код
components\com_jshopping\templates\default\category\category_default.php
Например:
Код
components\com_jshopping\templates\default\category\category_telepat.php
Выглядеть он должен примерно так (телепатирую и экстрасенсирую) и будет выводить только товары категории второго уровня:
Код
<?php 
defined('_JEXEC') or die('Restricted access');
?>
<div class="jshop">
<h1><?php print $this->category->name?></h1>
<?php print $this->category->description?>
<?php include(dirname(__FILE__)."/products.php");?>
</div>
выбирайте новый файл для всех категорий 2-го уровня. И никаких хаков.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ура :) все таки битва экстрасенсов - не чушь :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
2 ХайВей

Чей пост в черном конверте, а чей в белом ?
интересно же! скажите.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
ААА! Я победила!

Он не хочет выводить категории третьего уровня
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Так, я что-то пропустил? Тотализатор уже вовсю закрутился?
ХайВей, огласите вердикт.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Чую без Башарова не обойтись....

2ХвайВей
давайте резюм экстрасенсам и начнем сначала.

давайте хоть картинки или ссылки где есть то что вы хотите.
как оно выглядит и где выводится..
Вы же откуда-то взяли то что описываете.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Кажется, ему надо в магазине на странице вывода категории второго уровня скрыть отображение категорий третьего. Но товары из них оставить.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Кажется, ему надо в магазине на странице вывода категории второго уровня скрыть отображение категорий третьего. Но товары из них оставить.
Вот еще один телепат извиняюсь, колдунья(?).
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Как в самом лучшем шоу :) большая пауза перед озвучкой правильного ответа (не специально)

Ответ с советом был всего один, даже выбирать не пришлось:
Тогда создайте отдельный файл шаблона категории ...
Потому отдельное аплодисменты победителю нашего шоу burunduchok и (+) :D


Извиняюсь что написал вопрос в жатом виде и ...    но стока позитива (серьезно)
Всем участникам шоу благодарность :)

*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
 :D *DRINK*
Не будь паразитом, сделай что-нибудь самостоятельно!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
у меня как раз попкорн закончился.... :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Adems

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Здравствуйте Подскажите пожалуйста а как вывести исключительно категории 2 го уровня на главной?
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Ну это проще, можете поставить модуль который выводит все категории к примеру
http://joomlaforum.ru/index.php/topic,177161.0.html
И прописать display: none для 1-го 3-го .. уровней

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

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35703
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Товар - файл. Как ограничить добавление в корзину только 1 шт?

Автор SLV

Ответов: 15
Просмотров: 2357
Последний ответ 24.07.2025, 11:34:21
от SLV
JoomShopping, вывод всех категории к которым принадлежит товар

Автор Valent777

Ответов: 12
Просмотров: 2465
Последний ответ 01.11.2024, 14:57:28
от kit2m2
Дополнительные поля для категории JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1800
Последний ответ 07.07.2024, 08:43:15
от nevigen
Вывести название категории в списке товаров

Автор ataman

Ответов: 9
Просмотров: 4603
Последний ответ 15.09.2023, 20:31:11
от Alex_gs