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

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
URL производителей
« : 12.06.2015, 02:27:43 »
Главная страница JS установлена как домашняя стр сайта.

Подскажите пожалуйста:
1)
В настройках производителей в закладке "Параметры" -> URL
Запись в БазуДанных в поле  manufacturer_url   --  записывается
если не указывать псевдоним, то адрес производителя    сайт/manufacturer/view/2     где "2" ID - производителя
Для чего он нужен и как попасть на етот URL ??

2)
допустим если есть такой адрес:   сайт/manufacturer/view/2

И взять его перековеркать:     сайт/manufacturer/тут_пишем_что_угодно
то отображается страница со всеми производителями,  а не выдаёт ошибку  #404 Страница не найдена   Почему так ??  :dry: Ето же Неправильно  ??
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: URL производителей
« Ответ #1 : 12.06.2015, 08:06:00 »
1. Включите отображение логотипа производителя в настройках, задайте производителю логотип. В карточке товара этого производителя будет ссылка.

2. Да, неправильно. Нужно менять в router.php. Напишите в Ошибки ЖШ, чтобы разработчики поправили.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: URL производителей
« Ответ #2 : 12.06.2015, 10:55:09 »
JS   Version 4.8.1

По первому пункту:
    В настройках нет такой опции.
    У производителей заданы логотипы.
    Отдельный пункт меню на производителя не создавал.

К производителю перехожу из карточки товара. ,
 Если в параметрах атрибута не указаны "Псевдоним" и "URL",  адрес производителя =   сайт/manufacturer/view/2
 Если в параметрах атрибута указан "URL"  адрес производителя всёравно остаётся  =   сайт/manufacturer/view/2
 Если в параметрах атрибута указан и "Псевдоним" и "URL"  адрес производителя =   сайт/manufacturer/псевдоним_производителя

для чего параметр  URL ?
« Последнее редактирование: 12.06.2015, 10:58:10 от avantyrist »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: URL производителей
« Ответ #3 : 12.06.2015, 11:14:34 »
JS   Version 4.8.1

По первому пункту:
    В настройках нет такой опции.
    У производителей заданы логотипы.
    Отдельный пункт меню на производителя не создавал.
http://prntscr.com/7g1bmz
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: URL производителей
« Ответ #4 : 12.06.2015, 11:17:45 »
не, ну что вы как маленький? :) вас научить пользоваться поиском строки по файлам?

1. /administrator/index.php?option=com_jshopping&controller=config&task=catprod - Показать лого производителя

2. /components/com_jshopping/templates/default/manufacturer/manufacturers.php - print $row->manufacturer_url
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: URL производителей
« Ответ #5 : 12.06.2015, 11:26:20 »
вот бы так всегда обучали...а то "гоу в поиск","гоу ещё куда-то"
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: URL производителей
« Ответ #6 : 12.06.2015, 11:41:32 »
таки да :)  с просони ети настройки я не нашёл  :)    Они были включены :)

Блин я ничё непонимаю с етим URL

components/com_jshopping/templates/default/manufacturer/manufacturers.php

<a class = "product_link" href = "<?php echo $row->link?>"><?php echo $row->name?></a>

<?php if ($row->manufacturer_url!=""){?>
       <div class="manufacturer_url">
           <a target="_blank" href="<?php echo $row->manufacturer_url?>">О производителе</a>
        </div>
<?php }?>


product_link   ---   Сюда записывается "псевдоним"  если он указан в Параметрах,  Если не указан то ссылка имеет вид:  сайт/manufacturer/view/2


manufacturer_url ----  если заполнен параметр "URL" выводится етот   URL, если не заполнен, то ссылка не отображается вообше.
Так вот если перейти по ссылке  manufacturer_url    то попадаю на страницу с ошибкой  :o   #404 Страница не найдена ,  какойто кошмар, КУДА в итоге должна привести ссылка   <a target="_blank" href="<?php echo $row->manufacturer_url?>">О производителе</a>   ?
« Последнее редактирование: 12.06.2015, 11:45:06 от avantyrist »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: URL производителей
« Ответ #7 : 12.06.2015, 12:00:40 »
туда, куда зададите :) по идее на сайт производителя :) но можете указать http://joomlaforum.ru/ если хотите :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: URL производителей
« Ответ #8 : 12.06.2015, 12:11:21 »
ПИПЕЦ !  crazy!
Я себе мозг изнасиловал с етим URL   crazy!,   в АДМИННКЕ нужно делать  хоть какието пояснения  
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: URL производителей
« Ответ #9 : 12.06.2015, 12:32:35 »
гы :) ну вроде ясно написано - URL. что можно вводить в URL кроме собственно URL? плюс в FAQ есть документация, можно почитать на досуге :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: URL производителей
« Ответ #10 : 12.06.2015, 12:33:47 »
все любят это=, вставьте в это=
лентяи!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: URL производителей
« Ответ #11 : 12.06.2015, 12:56:58 »
Блин я думал етот параметр URL  создаёт какуето ссылку на собственном сайте, на какуюто страницу,    честно даже думал что просто на страницу, где выводится ТОЛЬКО ОПИСАНИЕ производителя, без товаров  :) 
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: URL производителей
« Ответ #12 : 12.06.2015, 13:25:31 »
если это нужно, то что мешает создать материал такой, и в URL вбить ссылку на этот материал?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: URL производителей
« Ответ #13 : 12.06.2015, 16:13:20 »
Да ненужно,  и ничего не мешает,  я просто непонял предназначение етого параметра :)  вот и всё :)   
Тему разжевали полностью.
 
Спасибо Вам dmitry_stas
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Страница производителей[РЕШЕНО]

Автор AlexB

Ответов: 5
Просмотров: 557
Последний ответ 30.06.2020, 11:00:00
от AlexB
Изменение структуры url для новостной ленты и производителей JoomShopping

Автор nikwww

Ответов: 21
Просмотров: 1121
Последний ответ 24.12.2019, 12:41:22
от kit2m2
Несколько производителей для одного товара

Автор heartlink

Ответов: 7
Просмотров: 974
Последний ответ 30.08.2019, 12:50:21
от heartlink
Перенесено: [Решено] И еще раз rel="canonical" для производителей товаров в JoomShoppinge

Автор b2z

Ответов: 0
Просмотров: 867
Последний ответ 06.12.2016, 16:46:45
от b2z
Как разбить производителей по папкам? Или как вывести отдельных производителей?

Автор W_MaN

Ответов: 7
Просмотров: 1593
Последний ответ 07.11.2015, 16:53:33
от Cerber