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

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Здравствуйте! Возникла такая ситуация: У меня в магазине в каждой категории товара несколько цветов, и я каждый цвет вынес в отдельную категорию. (Для SEO, очень много разных групп запросов, что бы не лепить все запросы в одну категорию). Навигацию по цветам добавил в описание категорий. Ну и соответственно добавил описание для каждой категории. Спрятав его в спойлер. Решил все же перенести описание вниз, под товары. Но тогда и навигация по цветам соответственно оказывается внизу.
Вопрос: Можно ли как то разделить описание для каждой категории на два, что бы можно было одно выводить выше, а другое ниже товара? Либо может посоветуете другой вариант, например как можно выше товара вставлять например модуль с цветами (ссылками на категории других цветов)?
Ссылка на сайт в профиле слева.
Заранее спасибо за ответ!
*

nevigen

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

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Да, разные. Поискал по форуму темы по данному вопросу, не нашел. Есть ли вообще темы по поводу "вывода модульной позиции в шаблоне категории"? Или может подскажете как вывести эту модульную позицию?
*

nevigen

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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
один из вариантов, не идеальный конечно, но быстрый :)
Код
<?php
jimport('joomla.application.module.helper');
$mods=JModuleHelper::getModules('НАЗВАНИЕ ПОЗИЦИИ');
echo '<h2>'.$mods[0]->title.'</h2>';
echo JModuleHelper::renderModule($mods[0]);
?>
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

zeher

  • Захожу иногда
  • 169
  • 12 / 0
В категории есть краткое и полное описание, выведите полное в верху, а краткое в низу и соответственно заполните их так как нужно.
*

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
В категории есть краткое и полное описание, выведите полное в верху, а краткое в низу и соответственно заполните их так как нужно.
Ооо! Отличная наводка, спасибо! Краткое описание выводится на главной странице магазина, случайно нет настроек что бы вывести это описание непосредственно на странице категории? Если нет, может подскажете в каком файле править?
*

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Я так понял располагать в определенной части это в этом файле:
/components/com_jshopping/templates/default/category/category_default.php
и соответственно эта строка отвечает за полное описание:
<?php print $this->category->description?>
</div>
Куда ее поставишь, там и будет полное описание.
А вот где строка отвечающая за краткое описание?
*

zeher

  • Захожу иногда
  • 169
  • 12 / 0
Код
<?php print $this->category->short_description ?>
*

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Отлично! Спасибо zeher! Все заработало! Карму плюсанул!
Тему можно закрывать!
*

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Ну все отредактировал! Кому интересно, можете посмотреть: http://fotrum.ru/koshelki-dlya-melochi-red.html Вроде смертоносно получилось! Цвета вверху, а описание внизу!
*

dmitry_stas

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

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Правда не понятно, зачем вам для этого разные категории, почему цвета не атрибутами.

Я же написал, для сео, очень много высокочастотных разных запросов из одной категории Портмоне Кошелькии, Мужские Женские Кожаные Красные Черные Из кожи и тд. Не буду же я все эти разные запросы на одну страницу лепить, по меньшей мере нерационально. А так на каждую категорию своя серия запросов.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну я сразу сказал что это другая история :) но раз вам так хочется...
обратите внимание, я не слова не сказал про кожаные. потому что http://prntscr.com/99j08t
а сказал за цвет, потому что http://prntscr.com/99j0g2
вам кажется, это тема отдельной категории? при том, что товары практически (1 слово) вообще ни чем не отличаются? итого у вас будет 500 практически одинаковых категорий, 499 из которых Яндекс посчитает дублями, и 500 клиентов, 499 из которых скажут что у вас "очень удобная" структура сайта.
но это имхо. и это не касается самой идеи.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

gaploger

  • Захожу иногда
  • 71
  • 0 / 0
Ну не все запросы можно отнести к разным категориям. Только самые противоположные. К примеру пассажир ищет женские красные портмоне, а попадает в категорию с черными. Не есть хорошо. Ну и я не собираюсь делать 500 категорий одного типа. Цветов 5-6, и соответственно столько же страниц категорий. А разделять буду только совсем разные. Да и как Яндекс их посчитает дублями если описания на каждой категории разные, под конкретные запросы. А количество различающихся запросов в данной нише огромно:
Портмоне мужские
Портмоне женнсие
Кошельки мужские
Кошельки женские
Бумажники
Кожаные
Из натуральной кожи
В интернет-магазине
Недорогие
Дорогие
Черные
Красные
И тд.
Я их не делю конкретно по запросу на страницу, а по семейству запросов.
Как к примеру все эти слова прописать в одном тайтле.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться