Новости 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 Ответов
  • 91943 Просмотров
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #420 : 19.09.2012, 00:24:14 »
Дублируется константа _JSHOP_INVOICE_DATE в языковом файле (ru-RU.php) админки. (Версия 3.11)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #421 : 19.09.2012, 22:58:08 »
#424
#425
#426

В 3.11.1 исправлено.
« Последнее редактирование: 19.09.2012, 23:29:22 от victorantoniak »
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Re: Ошибки магазина
« Ответ #422 : 21.09.2012, 10:26:33 »
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #423 : 21.09.2012, 17:37:37 »
В 3.11.0 исправлено.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #424 : 25.09.2012, 23:14:54 »
А где в 3.11.1 выбрать тип создаваемого платежного плагина ?
Раньше был простой и расширенный.. А теперь ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #425 : 25.09.2012, 23:17:54 »
А где в 3.11.1 выбрать тип создаваемого платежного плагина ?
Раньше был простой и расширенный.. А теперь ?

Целый блок исчез в \views\payments\tmpl\edit.php

Код
   <tr>
     <td class="key">
       <?php echo _JSHOP_TYPE_PAYMENT;?>*
     </td>
     <td>
       <?php echo $lists['type_payment'];?>
     </td>
   </tr>

В контроллере payments тоже убрали
« Последнее редактирование: 25.09.2012, 23:22:27 от SDKiller »
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #426 : 25.09.2012, 23:18:29 »
Нет возможности менять
Он не нужен. (только запутывает людей)
В аддонах нужно при установке прописывать Тип.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #427 : 25.09.2012, 23:20:27 »
Вот это самое место для таких СУЩЕСТВЕННЫХ моментов.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

nevigen

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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #429 : 26.09.2012, 22:13:28 »
Сейчас переделывать не будем. позже (возможно)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #430 : 04.10.2012, 17:52:41 »
Настройки -> Функции магазина

<legend>Основное</legend>

логичнее вроде как

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

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #431 : 04.10.2012, 18:25:08 »
Component JoomShopping 3.11.2
\components\com_jshopping\controllers\user.php
строка 132, переменная $jshopConfig не определена.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #432 : 04.10.2012, 18:28:55 »
Там-же, строка 765 $restext не определена, только я с версиями попутал, смотрю в 3.10.0, много версий набралось у меня.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #433 : 04.10.2012, 18:30:12 »
переменная $jshopConfig не определена.

Да не только там и не только она.
Таких вещей встречается достаточно, иначе бы зачем глушить нотисы на входе )

*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #434 : 04.10.2012, 20:46:52 »
Да вообще не понятно, зачем ошибки глушить, это всеравно что страус голову в песок зарывает.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #435 : 04.10.2012, 22:23:56 »
Согласен.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #436 : 05.10.2012, 04:55:57 »
И? :) Страшно посмотреть что будет когда откроешь ошибки? :)
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #437 : 05.10.2012, 08:24:47 »
Нуууу... я думаю и надеюсь... что при адаптации к 4.0 все это будет оптимизировано и хвосты подчистятся... если не на 100% то хотябы 90%.. а остальные 10 можно подобрать постепенно потом.. но главное их подбирать...
Если будет реакция на советы и найденные бока. И главное, что будет делаться, а не "потом как нить" или "и так работает".. то будет развитие и перспектива.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #438 : 05.10.2012, 19:57:47 »
/administrator/index.php?option=com_jshopping&controller=orders - Заказы, но в шапке написано Список статусов

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

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ошибки магазина
« Ответ #439 : 06.10.2012, 16:52:30 »
Я извиняюсь если обсуждалось, может просмотрела.
Но проблема такая.
В настройках Категория/Товар хочу проставить вывод категорий, производителей и товара по названию, сохраняю страницу и меня адресует на страницу всех настроек с ошибкой записи в БД



Перехожу в Менеджер расширений: Проверка базы данных

вижу это:

    Версия схемы базы данных (из #__schemas): 2.5.0-2012-01-14.
    Драйвер БД: mysqli.
    62 изменений базы данных были успешно проверены.
    13 изменений базы данных не изменили структуру таблиц и были пропущены.

Не знаю зависит это или нет, но висит там.
*

nevigen

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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Ошибки магазина
« Ответ #441 : 06.10.2012, 23:04:38 »
Цитировать
Перехожу в Менеджер расширений: Проверка базы данных
- там вообще-то кнопочка была - "Исправить"
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #442 : 06.10.2012, 23:46:00 »
Возможно при обновлении ЖШ какой-нибудь апдейт пропустили где были изменения в БД.
Включите режим отладки, посмотрите на что sql обругается
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ошибки магазина
« Ответ #443 : 07.10.2012, 01:11:00 »
- там вообще-то кнопочка была - "Исправить"

Это не помогло, я сделала в первую очередь.

Возможно при обновлении ЖШ какой-нибудь апдейт пропустили где были изменения в БД.
Включите режим отладки, посмотрите на что sql обругается

Ок. Завтра посмотрю.
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ошибки магазина
« Ответ #444 : 07.10.2012, 17:15:14 »
Вот такую вот ошибку выводит.

Код
JDatabaseMySQLi::query: 1054 - Unknown column 'cart_display_extra_fields' in 'field list' SQL=UPDATE `jos_jshopping_config` SET `count_products_to_page`='12',`count_products_to_row`='3',`count_category_to_row`='4',`allow_reviews_prod`='1',`allow_reviews_only_registered`='1',`max_mark`='10',`hide_product_not_avaible_stock`='0',`show_buy_in_category`='1',`show_tax_in_product`='0',`show_tax_product_in_cart`='0',`show_plus_shipping_in_product`='1',`hide_buy_not_avaible_stock`='1',`show_sort_product`='1',`show_count_select_products`='1',`show_delivery_time`='1',`demo_type`='0',`product_show_manufacturer_logo`='1',`product_show_weight`='0',`product_attribut_first_value_empty`='0',`show_hits`='1',`hide_text_product_not_available`='0',`use_plugin_content`='1',`product_list_show_weight`='0',`product_list_show_manufacturer`='1',`show_product_code`='1',`product_list_show_min_price`='1',`product_count_related_in_row`='3',`category_sorting`='2',`product_sorting`='4',`product_sorting_direction`='0',`show_product_list_filters`='1',`product_list_display_extra_fields`='a:0:{}',`filter_display_extra_fields`='a:0:{}',`product_hide_extra_fields`='a:0:{}',`product_show_vendor`='0',`product_show_vendor_detail`='0',`product_list_show_vendor`='0',`product_show_button_back`='1',`product_list_show_product_code`='1',`radio_attr_value_vertical`='0',`attr_display_addprice`='0',`product_list_show_price_description`='1',`display_button_print`='1',`product_show_manufacturer`='1',`product_list_show_price_default`='1',`product_list_show_qty_stock`='0',`product_show_qty_stock`='0',`displayprice`='0',`display_reviews_without_confirm`='0',`manufacturer_sorting`='2',`main_unit_weight`='2',`other_config`='a:13:{s:25:\"show_manufacturer_in_cart\";s:1:\"1\";s:30:\"count_products_to_page_tophits\";s:2:\"12\";s:32:\"count_products_to_page_toprating\";s:2:\"12\";s:28:\"count_products_to_page_label\";s:2:\"12\";s:33:\"count_products_to_page_bestseller\";s:2:\"12\";s:29:\"count_products_to_page_random\";s:2:\"12\";s:27:\"count_products_to_page_last\";s:2:\"12\";s:29:\"count_products_to_row_tophits\";s:1:\"3\";s:31:\"count_products_to_row_toprating\";s:1:\"3\";s:27:\"count_products_to_row_label\";s:1:\"3\";s:32:\"count_products_to_row_bestseller\";s:1:\"3\";s:28:\"count_products_to_row_random\";s:1:\"3\";s:26:\"count_products_to_row_last\";s:1:\"3\";}',`cart_display_extra_fields`='a:0:{}' WHERE `id`='1'

Вернуться в Панель управления

Call stack
# Function Location
1 JAdministrator->dispatch() /home/u/site.ru/public_html/administrator/index.php:46
2 JComponentHelper::renderComponent() /home/u/site.ru/public_html/administrator/includes/application.php:153
3 JComponentHelper::executeComponent() /home/u/site.ru/public_html/libraries/joomla/application/component/helper.php:351
4 require_once() /home/u/site.ru/public_html/libraries/joomla/application/component/helper.php:383
5 JController->execute() /home/u/site.ru/public_html/administrator/components/com_jshopping/admin.jshopping.php:66
6 JshoppingControllerConfig->save() /home/u/site.ru/public_html/libraries/joomla/application/component/controller.php:761
7 JTable->store() /home/u/site.ru/public_html/administrator/components/com_jshopping/controllers/config.php:368
8 JDatabase->updateObject() /home/u/site.ru/public_html/libraries/joomla/database/table.php:604
9 JDatabaseMySQLi->execute() /home/u/site.ru/public_html/libraries/joomla/database/database.php:1650
10 JError::raiseError() /home/u/site.ru/public_html/libraries/joomla/database/database/mysqli.php:396
11 JError::raise() /home/u/site.ru/public_html/libraries/joomla/error/error.php:251
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ошибки магазина
« Ответ #445 : 07.10.2012, 17:38:16 »
Вспомнила. Я пропустила вот эти шаги обновления.

1. update precision
2. Component Update 3.2.7 -> 3.3.2 Fix 1
3. Component Upgrade 2.9.7 -> 3.2.7 ( after update Joomla 1.5 - 1.7)

Что делать в этом случае? Откатиться и по новой? Может есть способ не начиная с нуля?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #446 : 07.10.2012, 17:48:40 »
Что делать в этом случае? Откатиться и по новой? Может есть способ не начиная с нуля?

Взять цельный дистрибутив и сравнить поля таблиц базы данных из него с тем что у вас на данный момент есть, потом скорректировать/создать вручную.

Можно сравнить дампы в редакторе, позволяющем сравнивать построчно.

*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #447 : 17.10.2012, 18:44:12 »
После удаления пользователей через менеджер пользователей Joomla остаются пользователи в таблице #__jshopping_users
В админке они не отображаются, но в таблице есть.
Нужен плагин группы user
*

maxman

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Ошибки магазина
« Ответ #448 : 18.10.2012, 10:24:11 »
Люди у меня проблема с ценой, в категории товар показывается по одной цене (не верная), перехожу в карточку товара - цена другая - верная!
версия 3.11.3
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #449 : 18.10.2012, 10:43:22 »
Люди у меня проблема с ценой, в категории товар показывается по одной цене (не верная), перехожу в карточку товара - цена другая - верная!
версия 3.11.3
видимо пользовались массовой сменой цены?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибки 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