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

glebov

  • Захожу иногда
  • 62
  • 0 / 1
Re: Ошибки магазина
« Ответ #180 : 26.01.2011, 18:55:08 »
Посмотрите в таблицу jos_jshopping_orders поле lang

Вот, на последних заказах идёт "ru-RU".
В первых 30-ти заказах, включая тот, на котором тестировал, это поле пустое.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #181 : 26.01.2011, 19:19:31 »
Сейчас уже нормально?

Не знаю почему раньше lang=""
Что вы меняли?
*

glebov

  • Захожу иногда
  • 62
  • 0 / 1
Re: Ошибки магазина
« Ответ #182 : 26.01.2011, 19:22:50 »
Сейчас уже нормально?

Не знаю почему раньше lang=""
Что вы меняли?


Пока не проверял - я же переписал файлы на русский язык.

Менял, видимо, версию магазина.
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
Re: Ошибки магазина
« Ответ #183 : 26.01.2011, 22:48:37 »
При выборе другой валюты в корзине все пересчитывается, а вот доставка на другую валюту не пересчитывается, но значок валюты меняется.
Например, товара в корзине на 429 руб, а доставка от 2000 руб бесплатно. При смене рубля на евро видим: товара в корзине на 10.73 EUR, а доставка от 2000 EUR бесплатно.

Version 2.7.2
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #184 : 26.01.2011, 23:28:07 »
Спасибо. Исправлю.
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
Re: Ошибки магазина
« Ответ #185 : 26.01.2011, 23:37:48 »
Спасибо.
И еще. Если создать пункт меню Магазин - Main page of shop, то при клике по нему не работает функция Заголовок страницы и Показать Заголовок страницы для этого пункта.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #186 : 27.01.2011, 07:55:04 »
Если создать пункт меню Магазин - Main page of shop, то при клике по нему не работает функция Заголовок страницы и Показать Заголовок страницы для этого пункта.

В com_jshopping/templates/default/category/mainpage.php вставь в самом начале

Код
<?php
$params = $mainframe->getParams();
$document = JFactory::getDocument();
if ( $params->get( 'show_page_title' ) ) {
$document->setTitle($params->get( 'page_title' ));
echo '<div class="componentheading'.$params->get( 'pageclass_sfx' ).'">'. $params->get( 'page_title' ). '</div>';
}
?>
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
Re: Ошибки магазина
« Ответ #187 : 27.01.2011, 08:07:44 »
Вставил, все заработало, но работает по-моему только в паре, т.е. отдельно функция Заголовок страницы не работает, если не включать Показать Заголовок страницы. Подробнее отпишусь позже, сейчас спешу.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #188 : 27.01.2011, 08:09:42 »
Вставил, все заработало, но работает по-моему только в паре, т.е. отдельно функция Заголовок страницы не работает, если не включать Показать Заголовок страницы.


Ну вынеси тогда

Код
$document->setTitle($params->get( 'page_title' ));

из условия наружу

Вообще лучше будет даже так сделать:
Код
<?php
$params = $mainframe->getParams();
$document = JFactory::getDocument();
if ( $params->get( 'page_title' ) ) {
$document->setTitle($params->get( 'page_title' ));
if ( $params->get( 'show_page_title' ) ) {
echo '<div class="componentheading'.$params->get( 'pageclass_sfx' ).'">'. $params->get( 'page_title' ). '</div>';
}}
?>
« Последнее редактирование: 27.01.2011, 08:14:45 от SDKiller »
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #189 : 27.01.2011, 10:24:49 »
Задать можно ../administrator/index.php?option=com_jshopping&controller=config&task=mainpage
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #190 : 27.01.2011, 10:43:39 »
А где там title страницы?

"Текст на главной странице"? Он просто в область контента идёт тегами <p></p>
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #191 : 27.01.2011, 13:26:36 »
META title
META description    
META keywords
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #192 : 27.01.2011, 13:27:53 »
Знаю - тяжело найти. Позже изменю.
*

Rap3r

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Ошибки магазина
« Ответ #193 : 27.01.2011, 14:01:59 »
Здравствуйте, столкнулся с проблемой: создаю товар, заполняю все поля (вкладки - описание, параметры, изображение), но почему-то нет реакции на кнопки "Сохранить" и "Применить", пробовал в ff3, ff4, opera11. НДС удалено (не знаю, имеет ли это значение). Версия магазина 2.6.2
Кто-нибудь сталкивался с такой проблемой?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #194 : 27.01.2011, 14:08:54 »
Код
НДС удалено
Посмотрите в ЖаваСкрипт - проверка product_tax_id
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
Re: Ошибки магазина
« Ответ #195 : 27.01.2011, 18:23:44 »
Вообще лучше будет даже так сделать:
Последний код правильно заработал. С меня  *DRINK*
Сейчас посмотрел, оказывается та же проблема с пунктами меню, если выбираешь Категорию, видимо разработчик этот момент упустил, или посчитал не особо важным. А магазин хорош!
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #196 : 27.01.2011, 18:33:48 »
Спасибо. Позже поправлю.

Как предлагаете для категории сделать.
Заголовок уже - название категории
« Последнее редактирование: 27.01.2011, 18:40:03 от victorantoniak »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #197 : 27.01.2011, 18:36:45 »
А магазин хорош!

Запусти только в режиме отладки, проанализируй запросы и займись индексацией соответствующих полей в таблицах базы.
Разработчик считает, что это пока неактуально и возможные в перспективе проблемы с производительностью будет решать по мере возникновения.
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
Re: Ошибки магазина
« Ответ #198 : 27.01.2011, 18:47:06 »
Да, спасибо, посмотрю. Я думаю разработчик знает, что делает.
По поводу как делать. Я думаю просто, - штатная функция Joomla должна остаться рабочей, а как этим распорядиться, каждый решит с учетом своей ситуации.  ^-^
*

oleggrz

  • Захожу иногда
  • 435
  • 76 / 3
  • Только начал учиться.
Re: Ошибки магазина
« Ответ #199 : 30.01.2011, 19:23:22 »
Поставил для теста Jshopping 2.7.2. Все было супер пока не поставил JoomFish 2.1.15 (потом 2.0.3 тоже пробовал), в результате пропадают
наименования и описания и в категориях и в товарах. После отключения jfrouter все возвращается обратно. PHP 5.2.4, MySQL 5.0.45, Denwer. По ветке пробежался, вроде-бы таких проблем не возникало,может будут какие-то советы?

P.S. Автору спасибо, компонент классный.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #200 : 30.01.2011, 21:42:15 »
Есть название продуктов, категорий на всех языках.
*

oleggrz

  • Захожу иногда
  • 435
  • 76 / 3
  • Только начал учиться.
Re: Ошибки магазина
« Ответ #201 : 30.01.2011, 22:21:29 »
Спасибо, это надо-же так лохануться. Все супер!
*

dragon4x4

  • Захожу иногда
  • 196
  • 7 / 0
Re: Ошибки магазина
« Ответ #202 : 01.02.2011, 01:29:17 »
привет, обновился до 2.7.3 и опять появились в админке закладки языков в продуктах... в опциях снимаю галку на языках, но нереагирует админка... все раво закладки языков показывает... если это у меня ошибка, то где искать проблему ?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #203 : 01.02.2011, 10:03:50 »
Зайдите в  /administrator/index.php?option=com_jshopping&controller=languages
отключите ненужные
*

dragon4x4

  • Захожу иногда
  • 196
  • 7 / 0
Re: Ошибки магазина
« Ответ #204 : 01.02.2011, 14:39:10 »
спасибо, ок.
Теперь сортировка товара почему то нету пару строчек перевода на литовский, хотя добавил строчки с переводом в ланг lt_LT

где еще подправить чтоб ани перевились ?
_JSHOP_SORT_DATE
_JSHOP_SORT_MANUAL
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #205 : 01.02.2011, 14:47:30 »
Все правильно, должно работать.
*

dragon4x4

  • Захожу иногда
  • 196
  • 7 / 0
Re: Ошибки магазина
« Ответ #206 : 01.02.2011, 14:58:48 »
Да, оказываеться чтото не скопировалось, уже исправил... посылаю мейл с исправленым переводом новой версии...
« Последнее редактирование: 01.02.2011, 15:26:57 от dragon4x4 »
*

glebov

  • Захожу иногда
  • 62
  • 0 / 1
Re: Ошибки магазина
« Ответ #207 : 03.02.2011, 08:38:05 »
При обновлении с 2.6.2 до 2.7.0 получил сообщение:

Цитировать
DB function failed with error number 1054
Unknown column 'name_de-DE' in 'field list' SQL=INSERT INTO `jos_jshopping_order_status` (`status_code`, `name_en-GB`, `name_de-DE`) VALUES('F', 'Complete', 'Beenden');

Это страшно?
*

glebov

  • Захожу иногда
  • 62
  • 0 / 1
Re: Ошибки магазина
« Ответ #208 : 03.02.2011, 08:39:42 »
Что за обновление "JoomShopping-update-3.0.0B-3.0.0.zip"?
Оно необходимо?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #209 : 03.02.2011, 10:08:07 »
При обновлении с 2.6.2 до 2.7.0 получил сообщение:

Это страшно?

Нет. Можна добавить самому administrator/index.php?option=com_jshopping&controller=orderstatus новый статут
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибки JoomShopping 4.x+ (2017)

Автор nevigen

Ответов: 53
Просмотров: 10090
Последний ответ 17.01.2021, 19:03:23
от gartes
Региональность магазина

Автор misteri27

Ответов: 2
Просмотров: 678
Последний ответ 08.03.2020, 14:11:33
от misteri27
Вставка рекламы стороннего магазина после 5-го товара

Автор anatolij

Ответов: 7
Просмотров: 2029
Последний ответ 02.08.2018, 16:47:42
от kit2m2
Ошибки при создании товара

Автор 12mv

Ответов: 3
Просмотров: 1020
Последний ответ 21.02.2018, 23:09:24
от nevigen
Установленные аддоны - ошибки в админке 0 Null primary key not allowed

Автор 12mv

Ответов: 10
Просмотров: 2313
Последний ответ 21.02.2018, 15:04:47
от 12mv