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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #480 : 03.01.2013, 19:56:20 »
У меня 404.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #481 : 03.01.2013, 21:33:31 »
Признаю, при установке чистого ЖШ на чистую Joomla выдается 404.
А как Вы объясните это? http://www.webdesigner-profi.de/joomla-webdesign/shop/importexport
Это ведь явная ошибка работы роутера.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #482 : 03.01.2013, 23:55:42 »
Версия 3.12.3 ошибка исправлена.
Демо сайт http://demo.joomshopping.com/
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Ошибки магазина
« Ответ #483 : 05.01.2013, 18:08:43 »
А ни у кого не возникала ошибка при смене картинки лейбла?
Заходим в метку -> удалить старое изображение -> сразу загрузить новое - не получается
Нужно либо выйти/зайти, либо обновить страницу

3.11.4
« Последнее редактирование: 05.01.2013, 18:12:31 от ELLE »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #484 : 21.01.2013, 12:27:39 »
такая вот еще мелочь:

/administrator/index.php?option=com_jshopping&controller=users

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

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Re: Ошибки магазина
« Ответ #485 : 24.01.2013, 08:39:44 »
Посмотрите пожалуйста в админке магазина сортировку по кол-ву товара... какая то она странная. Как то оно сортирует, но явно не по кол-ву. (
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #486 : 24.01.2013, 11:15:18 »
Посмотрите пожалуйста в админке магазина сортировку по кол-ву товара... какая то она странная. Как то оно сортирует, но явно не по кол-ву. (
За сортировку в админке отвечает Joomla, а не JoomShopping.
И скрины если не сложно, а то понятие "странная" какое-то абстрактное
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Re: Ошибки магазина
« Ответ #487 : 24.01.2013, 12:06:10 »
И скрины если не сложно, а то понятие "странная" какое-то абстрактное
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #488 : 24.01.2013, 12:43:50 »
в админке в списках заказов и клиентов (может еще где то, просто дальше не копался) при клике на чекбокс отсутствует onclick="isChecked(this.checked)", в форме жестко задан name="boxchecked" value="1" - соотвественно при групповых операциях не происходит проверка отмеченных чекбоксов

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #489 : 24.01.2013, 16:19:57 »
\components\com_jshopping\controllers\user.php function registersave()

передается неверная информация $row = JTable::getInstance('userShop', 'jshop')  в

$dispatcher->trigger('onAfterRegister', array(&$user, &$row, &$post, &$useractivation));

так как до этого есть

$rows = $db->loadObjectList();            
foreach($rows as $row){
     $return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $row->email, $emailSubject, $emailBodyAdmin);
}


P.S. и поубирайте пожалуйста эти Call-time pass-by-reference has been deprecated. а то при включенных ворнингах при отладке очень уж мешают
« Последнее редактирование: 24.01.2013, 16:31:38 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #490 : 29.01.2013, 14:13:16 »
Скорее не ошибка а.. ну неправильная организация..
Либо указывайте в описании требований и ограничений.

Ситуация следующая.. при существующем способе хранения данных по характеристикам
MySQL
максимальное количсетво байт на строку - 65 Кбайт
каждая ячейка хар-ки - Varchar 100
т.е. 100 символов
в utf-8 символ = 3 байта
т.е. имеем 300 байт на каждую х-ку + другие по товару поля.
кол-во характеристик которые можно НАЗНАЧИТЬ товару 210
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #491 : 03.02.2013, 17:21:47 »
\components\com_jshopping\controllers\user.php function registersave()

передается неверная информация $row = JTable::getInstance('userShop', 'jshop')  в

$dispatcher->trigger('onAfterRegister', array(&$user, &$row, &$post, &$useractivation));

так как до этого есть

$rows = $db->loadObjectList();           
foreach($rows as $row){
     $return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $row->email, $emailSubject, $emailBodyAdmin);
}
P.S. и поубирайте пожалуйста эти Call-time pass-by-reference has been deprecated. а то при включенных ворнингах при отладке очень уж мешают
Исправлено в версии 3.13.0A8
Увидете deprecated - пишите.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #492 : 05.02.2013, 15:47:29 »
несоответствие языковых файлов. в частности, в русском языке присутствует такая константа как _JSHOP_IN_BASKET, которой нет ни в немецком, ни в английском языке. В принципе отличаются блоки // No price, // Payment, // Registration,
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

VitaV

  • Новичок
  • 5
  • 0 / 0
Re: Ошибки магазина
« Ответ #493 : 06.02.2013, 18:29:37 »
Добрый день,
после переноса сайта при нажатии на товар в админке, выскакивает
Fatal error: Class 'DomDocument' not found in /home/inter-comm/inter-communication.ru/docs/plugins/jshoppingadmin/extended_menu/extended_menu.php on line 59

строка -
   $xml = new DomDocument('1.0','utf-8');

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

nevigen

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

VitaV

  • Новичок
  • 5
  • 0 / 0
Re: Ошибки магазина
« Ответ #495 : 06.02.2013, 18:36:33 »
Спасибо огромное за оперативный ответ  ^-^
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #496 : 06.02.2013, 23:41:00 »
ЖШ 3.12.3, файл \components\com_jshopping\tables\shippingmethodprice.php, строка 29 - вызов функции

function getPriceCalcParamsTax($price, $tax_id, $products=array()

делается как

getPriceCalcParamsTax($list[$k]->shipping_price, $list[$k]->shipping_tax_id),

т.е. без третьего параметра - массива товаров.

если у платежного плагина налоговая ставка выбрана как Налоговая ставка продукта, то из функции getPriceCalcParamsTax вызывается функция

getPriceTaxRatioForProducts($products)

с пустым массивом товаров, и в ней foreach($products as $k=>$v) генерирует Warning

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

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Re: Ошибки магазина
« Ответ #497 : 07.02.2013, 05:25:57 »
После обновления на 3.13 перестали удаляться фото у товаров, к ссылке добавляется символ#
пустой запрос какой-то!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #498 : 07.02.2013, 09:54:11 »
чистка кеша не помогает?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибка магазина
« Ответ #499 : 07.02.2013, 14:36:29 »
в русском ленге есть непереведенные константы
define('_JSHOP_ERROR_PAYMENT_INFO', 'Order number: %s. Error: %s');
define('_JSHOP_ERROR_PAYMENT_DEBIT', 'You entered incorrect info');
define('_JSHOP_PAYMENT_PRODUCT_IN_SITE', 'Payment for goods in the shop %s');
« Последнее редактирование: 07.02.2013, 14:56:38 от nevigen »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Re: Ошибки магазина
« Ответ #500 : 07.02.2013, 16:20:45 »
Чистка кеш не помогает!
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #501 : 07.02.2013, 16:23:07 »
Ошибка в javascript. Используйте Firefox

http://joomlaforum.ru/index.php/topic,244279.msg1276237.html#msg1276237
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #502 : 12.02.2013, 20:00:04 »
если в размерах изображения в настройках задать "0" и "0", например среднему размеру
то отрабатывается некорректно.
по идее изображение должно не изменятся.
а оно удаляется просто.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

litwit

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: Ошибки магазина
« Ответ #503 : 14.02.2013, 21:40:23 »
"Скрыть товары, которые не доступны на складе"
Если товар находится в главной категории, то опция не срабатывает, если товар находится в подкатегории категории, то все нормально.
Подозреваю, что косяк у меня только, но мало ли.
*

neАdmin

  • Захожу иногда
  • 91
  • 4 / 0
Re: Ошибки магазина
« Ответ #504 : 13.03.2013, 12:27:25 »
Изображения ползут за край

http://joomlaforum.ru/index.php/topic,257343.msg1294959.html#msg1294959

Спойлер
[свернуть]

*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #505 : 15.03.2013, 17:53:02 »
версия 3.13.2

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

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

djkrjlfd84

  • Новичок
  • 1
  • 0 / 0
Re: Ошибки магазина
« Ответ #506 : 16.03.2013, 00:00:05 »
Здравствуйте! Может кто подскажет...
В JoomShopping при нажатии на кнопку "Подтвердить заказ" выдает ошибку - TCPDF ERROR: Could not include font definition file: helvetica
В чем проблема и как ее решить?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #507 : 16.03.2013, 01:32:15 »
версия 3.13.2

при создании/редактировании заказа вручную.
выбираем пользователя, данные не подтягиваются.
соответственно и далее ошибки
Исправлено в 3.14.0
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #508 : 19.03.2013, 14:37:26 »
\administrator\components\com_jshopping\models\orders.php

в функции getAllOrders

Код
$where .= " and (O.`order_number` like '%".$search."%' or O.`f_name` like '%".$search."%'

а в функции getCountAllOrders

Код
$where .= " and (O.`f_name` like '%".$search."%'

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

assaru

  • Давно я тут
  • 763
  • 88 / 1
Re: Ошибки магазина
« Ответ #509 : 21.03.2013, 10:18:31 »
Количество товара на складе 10.
Оформляем заказ на 20 единиц. Заказ оформляется и проходит без сообщений о том, что количество превысило количество на складе. В остатке -10 единиц товара. Нехорошо.
Ставим галочку "Скрыть кнопку купить, если товара нет на складе". Оформляем заказ на 20 единиц товара. Заказ не оформляется, сообщение о превышении количества отображается.
Либо некорректно перевели значение чекбокса, либо неверно отрабатывается проверка.
JS Version 3.14.0
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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