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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
*

regionkaz

  • Захожу иногда
  • 90
  • 4 / 0
Re: Ошибки магазина
« Ответ #121 : 12.01.2011, 15:54:23 »
Заметил тут кое что:

Если отключить отзывы и оценки товаров, то в списке "Сортировка" остается пункт - популярность.

beta 2.7
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #122 : 12.01.2011, 16:38:58 »
Есть небольшой глюк, в версии 2.6, небольшой конфликт с фосовской галереей, походу опять проблемы с одинаковыми переменными. Происходит не всегда, а время от времени, причина неизвестная, не смог понять, после чего именно это происходит. Суть в следующем, если зайти в один прекрасный момент в PhocaGallery, и выбрать для просмотра какое то изображение, то при открытии ява-окна, вместо изображения данные из магазина.
(кодировка в блокноте неправильно сохранилась, но и так понятно думаю)
Цитировать
Ñîîáùåíèå

        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Eintrag gespeichert
        * Çàïèñü ñîõðàíåíà

notice

        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
        * Bitte u"berpru"fen sie ihre Angaben! Fehler: Spamschutz wurde nicht gelo"st. Der Spamschutz besteht aus einer Rechenaufgabe und einer Zeitsperre.
Всё время выводит примерно тоже, только в разном количестве, походу зависит от того, сколько по магазину бегал.

сервер на PHP 5.2, на но на 5.3 тоже один раз выскочило. Проблема в том, что нет закономерности, по крайней мере пока не отследил её.
« Последнее редактирование: 12.01.2011, 16:42:55 от Сержo »
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #123 : 12.01.2011, 22:53:11 »
При тестировании не увидел ошибки.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #124 : 12.01.2011, 23:35:07 »
Заметил тут кое что:

Если отключить отзывы и оценки товаров, то в списке "Сортировка" остается пункт - популярность.

beta 2.7

Популярнось - количество просмотров, не чего общего не имеет с оценками
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #125 : 13.01.2011, 13:46:58 »
Цитировать
При тестировании не увидел ошибки.
В том то и проблема, что ошибка так просто не выскакивает, а только походу после определённого действия, или серии действий с магазином и галереей. Сколько бы я её не пытался повторить, она не вылазит, а вот когда занимаешься отладкой сайта, и просто гуляешь туда сюда, настраиваешь и т.д., то она произвольно появляется, при открытии изображения из галереи.

Будет чуть больше времени, попробую всё же отловить закономерность, а пока мне надо сайт сдавать, а там ещё надо модуль корзины магазина доработать, изменить дизайн вывода товара, и другое. Магазин хороший, но как и в любом компоненте, везде нужны косметические доработки, под конкретный сайт.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #126 : 13.01.2011, 17:38:08 »
Вроде как по ходу работы отловил эту ошибку, вылазит она один раз, после шопа, если попытаться добавить ещё один экземпляр товара, которого и так всего один. При этом сам магазин не чего не выдаёт, типа нет больше товара такого сорта, но если после этого зайти в галерею, и выбрать на просмотр изображение, то выплывает ошибка.
Вот последнее что выплыло.
Цитировать
Ошибка

        * Для продукта "test1", максимальное количество заказа 1.
        * Продукт невозможно заказать в даном количестве
          Корзине уже содержит 1 наименований товара.
          Максимальное количество заказа 0.

и сразу за сообщением идёт изображение из галереи.

По крайней мере мне трижды удалось вызвать эту ошибку, в таком порядке. Иду в магазин, кидаю в корзину товар которого только один экземпляр, потом иду в корзину, и пытаюсь добавить ещё один или несколько штук. Естественно не чего не добавляется. Иду в галерею, жму на просмотр, и выдаёт ошибку. Закрываю просмотр, жму опять, ошибки нет.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #127 : 13.01.2011, 17:53:00 »
Я думаю проблема в вашем шаблоне.

В шаблоне должно быть <jdoc:include type="message" /> - вывод ошибок.

наверно для галереи, просмотр рисунка  другой шаблон.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #128 : 13.01.2011, 18:00:59 »
Да.., <jdoc:include type="message" /> я ещё не вставлял в шаблон, забыл, щас попробую ещё разок.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #129 : 13.01.2011, 18:04:26 »
Мля..., идиот, забыл вставить вывод ошибок, и потом удивляюсь, почему выводит не туда куда надо.

В таком случае ошибок нет этого типа, спасибо за подсказку.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #130 : 14.01.2011, 16:02:23 »
Пока на локале делал, всё было в норме так сказать, сейчас перенёс сайт на демо-хост, и при редактирование товаров выплывает сообщение об ошибке
Цитировать
        * Ошибка загрузки видео
        * Ошибка загрузки видео
        * Ошибка загрузки видео
        * Error upload demo file
        * Error upload sale file

Не видео, не демо файлов у товаров нет, не чего из этого не добавлялось. В чём может быть проблема?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #131 : 14.01.2011, 16:58:52 »
При создании нового тоже?
Скорее всего проблема с сервером, Возможно отключена загрузка файлов.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #132 : 14.01.2011, 17:17:45 »
При создании тоже самое, один в один. Загрузка файлов не отключена, в других компонентах всё работает норм, в том числе и загрузка видео и файлов.
Хостер с поддержкой PHP 5.2, разрешены некоторые настройки в .htaccess

Так же вопрос в догонку, в какой кодировке уходят письма?.., просто на некоторые майл сервера приходят письма без умлаутов, вместо них вопросы.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #133 : 14.01.2011, 17:32:52 »
Странная ошибка.
До сих пор не кто не жаловался.


Получить код ошибки
меняем файл administrator\components\com_jshopping\controllers\products.php

Код
        //upload video
        if ($jshopConfig->admin_show_product_video) {
            for($i=0; $i<3; $i++){
                $upload = new UploadFile($_FILES['product_video_'.$i]);
                $upload->setDir($jshopConfig->video_product_path);
                if ($upload->upload()){
                    $image_prev_video = "";
                    $file_video = $upload->getName();
                    @chmod($jshopConfig->video_product_path."/".$file_video, 0777);
                    
                    $upload2 = new UploadFile($_FILES['product_video_preview_'.$i]);
                    $upload2->setAllowFile(array('jpeg','jpg','gif','png'));
                    $upload2->setDir($jshopConfig->video_product_path);
                    if ($upload2->upload()){
                        $image_prev_video = $upload2->getName();
                        @chmod($jshopConfig->video_product_path."/".$image_prev_video, 0777);
                    }else{
                        if ($upload2->getError()!= 4){
                            JError::raiseWarning("", _JSHOP_ERROR_UPLOADING_VIDEO_PREVIEW);
                        }    
                    }
                    unset($upload2);                
                    $this->addToProductVideo($product_id, $file_video, $image_prev_video);
                }else{
                    if ($upload->getError()!= 4){
                        JError::raiseWarning("", _JSHOP_ERROR_UPLOADING_VIDEO);    
                    }
                }              
                unset($upload);    
            }
        }

После
Код
JError::raiseWarning("", _JSHOP_ERROR_UPLOADING_VIDEO);
добавте
Код
print $upload->getError()."<br>";
print_r($upload);
die();





Письма в кодировке UTF-8.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #134 : 14.01.2011, 18:00:19 »
Выдаёт следующее
Цитировать
15
UploadFile Object ( [name] => [tmp_name] => [type] => [size] => [error] => 15 [uploaded_real_name_file] => [dir] => /var/www/web50/html/testodrom/components/com_jshopping/files/video_products [new_dir_access] => 511 [auto_rename_file] => 1 [auto_create_dir] => 1 [file_upload_ok] => 0 [file_name_md5] => 1 [file_name_filter] => 0 [allow_file] => Array ( ) [forbid_file] => Array (
  • => php [1] => php2 [2] => php3 [3] => php4 [4] => php5 [5] => js [6] => HTML [7] => htm ) [maxSizeFile] => 0 )
по письмам понятно, пускай используют немецкие почтовые сервера.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #135 : 14.01.2011, 18:15:02 »
Существует в php.ini такая перемена
max_file_uploads
У вас она 10
надо больше (20)

Загружает только рисунки а видео и другое нет.
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #136 : 14.01.2011, 18:24:55 »
Ну..., не знаю, я видео на этом хосте на сайт загружал, через другой компонент, проблем не было. К тому же, php.ini это привилегия хостера, у меня нет прямого доступа к файлу, разве что через .htaccess попробовать изменить, если не заблокировано.

К тому же, если мне не нужно видео и файлы, и я их в товар не добавляю, то зачем вообще пытаться чего то там проверять и выводить ошибку. Думаю следует сделать проверку на эту тему. Это конечно мне по барабану, а вот конечному заказчику может не понравится. Не все хостеры подстраивают max_file_uploads на значение больше 20-и.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #137 : 14.01.2011, 18:46:59 »
Вы наверно не очень поняли.
Если max_file_uploads меньше то видео  и др. невозможно будет загрузить. потому что 10 рисунков (max_file_uploads=10)
Проблема не в Видео файлах а в количестве файлов.

Отключить видео и другое administrator/index.php?option=com_jshopping&controller=config&task=adminfunction

Как изменить значение max_file_uploads

В файле .htaccess
добавте строку
php_value max_file_uploads 20
« Последнее редактирование: 14.01.2011, 18:55:16 от victorantoniak »
*

Сержo

  • Захожу иногда
  • 113
  • 4 / 1
Re: Ошибки магазина
« Ответ #138 : 14.01.2011, 19:28:59 »
Походу неправильно понял.

Цитировать
Проблема не в Видео файлах а в количестве файлов.
я думаю для 1-3 рисунка, это не то количество, что бы вызывать эту ошибку. Другое дело, я упустил из виду, что можно отключить видео.

Но всё равно спасибо, одной проблемой пока меньше. :)

Цитировать
В файле .htaccess
добавте строку
php_value max_file_uploads 20
Уже пробовал, это запрещено, сервер выдаёт ошибку, так что не изменить.
*

itbc

  • Захожу иногда
  • 236
  • 1 / 2
Re: Ошибки магазина
« Ответ #139 : 15.01.2011, 14:20:12 »
обнаружил сегодня непонятную для меня ошибку...
с главной страницы http://www.itbc.travel/ из модуля "Самые популярные" при нажатии например на первую ссылку приходишь на магазин а не на товар а при нажатии на  вторую попадаю на товар. Также и в модуле "Самые покупаемые" в самом магазине та же проблема...
Чего с этим делать?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #140 : 15.01.2011, 20:21:23 »
В вас меню coach-tours
и категория coach-tours

они перекрывают один одного

переименуйте.
*

itbc

  • Захожу иногда
  • 236
  • 1 / 2
Re: Ошибки магазина
« Ответ #141 : 16.01.2011, 00:36:59 »
Спасибо, помогло.
*

Konstantinl

  • Захожу иногда
  • 60
  • 5 / 0
Re: Ошибки магазина
« Ответ #142 : 16.01.2011, 01:36:40 »
Версия 2.7. При заказе товара без регистрации, если адрес доставки не совпадает, заполняем обязательные поля, нажимаем кнопку "Далее", получаем сообщение "Пожалуйста, введите Email. доставки"
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #143 : 16.01.2011, 02:08:08 »
Спасибо. Исправим.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #144 : 17.01.2011, 11:04:17 »
Ошибка отображения русской кодировки во вкладке "Параметры" при редактировании категории.

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





При последующем открытии для редактирования отображается нормально
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #145 : 17.01.2011, 11:17:21 »
Спасибо исправим.

Все проблемы с кодировкой и за неправильной настройки сервара.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #146 : 17.01.2011, 11:23:58 »
Какой именно неправильно настройки, можно уточнить?

Сайт локально, Денвер, стандартная установка, Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.2.12

Кодировка таблиц и базы по умолчанию utf8_general_ci, кодировка сайта utf-8
Joomla 1.5.22

На данный момент на локалке стоят еще 7 сайтов в разработке, все под utf-8
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #147 : 17.01.2011, 12:06:38 »
php.ini

Удалить строку
Код
default_charset = "...."
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Ошибки магазина
« Ответ #148 : 17.01.2011, 12:09:57 »
php.ini

Удалить строку
Код
default_charset = "...."

А вот как раз она в php.ini закомментирована у меня
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #149 : 17.01.2011, 12:16:59 »
не важно. Позже сделаю для нужного запроса УТФ-8.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nevigen

Ответов: 53
Просмотров: 10088
Последний ответ 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