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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #630 : 16.12.2013, 19:19:27 »
WARP 7
/templates/YooTepmlate/warp/systems/joomla/src/Warp/Joomla/Helper/SystemHelper.php
найти
Код
$this['config']['page_class']  = $app->getParams()->get('pageclass_sfx');
заменить на
Код
$this['config']['page_class']  = $app->getParams('com_jshopping')->get('pageclass_sfx');
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: Ошибки магазина
« Ответ #631 : 17.12.2013, 00:30:44 »
WARP 7
/templates/YooTepmlate/warp/systems/joomla/src/Warp/Joomla/Helper/SystemHelper.php
найти
Код
$this['config']['page_class']  = $app->getParams()->get('pageclass_sfx');
заменить на
Код
$this['config']['page_class']  = $app->getParams('com_jshopping')->get('pageclass_sfx');
Спасибо! Как всегда выручили
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина
« Ответ #632 : 21.12.2013, 11:49:31 »
/components/com_jshopping/js/functions.js
строка 1271 и 1273 убрать table
Цитировать
         if (json.displaybuttons=="0"){
                jQuery(".productfull table.prod_buttons").hide();
            }else{
                jQuery(".productfull table.prod_buttons").show();
            }

вывод сделать через класс а не через стиль.
.no_display {display:none}
.yes_display {display:.....}

валидный и универсальный подход.
« Последнее редактирование: 21.12.2013, 11:52:34 от nevigen »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #633 : 22.12.2013, 10:24:15 »
Joomla 3.2, JS 4.4.0. В меню нет способа создать ссылку на категорию. Выбираю "товары", выпадает не тот вид что мне нужен, выбираю "категории", какую бы категорию не выбирал попадаю на майнпейдж (дело в отсутствии task в ссылке). Хотелось бы иметь либо тип меню со ссылкой на категорию, либо логику контроллера, выбирающего вид майпейджа если категория не задана и вид категории если категория указана. Для себя по простому сделал так:
/components/com_jshopping/jshopping.php
Код
<?php
/**
* @version      4.3.1 05.08.2013
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/

defined('_JEXEC') or die('Restricted access');
JTable::addIncludePath(JPATH_COMPONENT.'/tables');
jimport('joomla.application.component.model');
JModelLegacy::addIncludePath(JPATH_COMPONENT.'/models');
require_once(JPATH_COMPONENT_SITE."/lib/factory.php");
require("loadparams.php");

$controller = JRequest::getCmd('controller');
if (!$controller) $controller = "category";

$task = JRequest::getCmd('task');
if(!$task && $controller == "category"){
    if(JRequest::getInt('category_id', 0) > 0){
        $task = 'view';
    }
}
if (file_exists(JPATH_COMPONENT.'/controllers/'.$controller.'.php'))
    require_once(JPATH_COMPONENT.'/controllers/'.$controller.'.php');
else
    JError::raiseError(403, JText::_('Access Forbidden'));

$classname = 'JshoppingController'.$controller;
$controller = new $classname();
$controller->execute($task);
$controller->redirect();
displayTextJSC();
?>
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #634 : 22.12.2013, 10:48:41 »
Аркадий, ответ настолько прост, что кажется вопрос заключается в чем-то другом.
Для добавления параметра task в url нужно в параметре Show указать "Category or Manufacturer or StaticPage"
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #635 : 22.12.2013, 11:01:48 »
То есть я не увидел нужной настройки? Позорище :)
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #636 : 22.12.2013, 11:07:26 »
Мы говорим о совершенно разных вещах. Вы я так понимаю имеете ввиду создание пункта меню с помощью аддона "Addon menu builder", а я Вам говорю о создании пункта меню классическим методом.
Хотя если честно даже в аддоне меню билдер я не увидел перечисленных Вами пунктов.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Ошибки магазина
« Ответ #637 : 22.12.2013, 12:15:43 »
Нет, это стандартное создание пункта меню, а пункты я уже стер, разобрался что не там смотрел.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #638 : 27.12.2013, 16:33:42 »
Виктор, прошу модифицировать запросы для модуля последних товаров в будущих версиях.
Например сейчас в модуле последних товаров выводятся товары в неправильном порядке, так как товары добавлялись с помощью импорта и значение поля product_date_added у них одинаковое. Поэтому предлагаю добавить так же сортировку по product_id в обратном порядке.
Если товар добавлялся вручную, то данная модификация не как не затронет таких пользователей, но очень поможет тем, кто часто пользуется импортом.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

nevigen

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #640 : 15.01.2014, 23:46:02 »
components/com_jshopping/tables/config.php function getEnableDeliveryFiledRegistration
$tmp_fields[$type] может быть пустое значение. соответственно foreach генерирует warning
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

johnrass

  • Захожу иногда
  • 125
  • 26 / 0
Re: Ошибки магазина
« Ответ #641 : 24.01.2014, 13:38:02 »
Опечатка в файле /administrator/components/com_jshopping/lang/ru-RU.php
define('_JSHOP_ITEM_DELETED', 'Елемент удален');

*

wh1sper

  • Новичок
  • 1
  • 0 / 0
Re: Ошибки магазина
« Ответ #642 : 27.01.2014, 02:18:32 »
Вроде все нормально настроил, начал тестировать магазин и тут после нажатия на кнопку "оформить заказ" вылетает вот такая штука
Warning: Invalid argument supplied for foreach() in /home/u272913786/public_html/components/com_jshopping/tables/config.php on line 97 , Google результата не дал.
« Последнее редактирование: 27.01.2014, 09:38:28 от nevigen »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #643 : 27.01.2014, 09:37:13 »
wh1sper, на будущее, во-первых абсолютно не стоит выкладывать целиком файлы, обычно достаточно либо нужного куска кода, либо вообще просто версии ЖШ, если это стандартный файл компонента. Тем более, вот судя по ошибке - строка 97. А разве можно понять какая строка 97 в выложенном файле? Считать вручную? :) Все равно приходится открывать файл в редакторе. А во-вторых, прежде чем писать, постарайтесь сначала читать. Я написал про это 2 поста назад. Причина этого предупреждения в том, что адреса или адрес доставки - не выбрано ни одного поля. А проверки is_array в функции нет. И foreach генерирует предупреждение.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

mj23

  • Осваиваюсь на форуме
  • 28
  • 2 / 0
Re: Ошибки магазина
« Ответ #644 : 30.01.2014, 15:41:13 »
В тексте письма заказчику, в самом низу

Warning: Invalid argument supplied for foreach() in /components/com_jshopping/templates/default/checkout/orderemail.php on line 420

зашел в этот файл и кусок кода
Код
<?php foreach($files as $file){?>
                <div><?php print $file->file_descr?> <a href="<?php print JURI::root()?>index.php?option=com_jshopping&controller=product&task=getfile&oid=<?php print $this->order->order_id?>&id=<?php print $file->id?>&hash=<?php print $this->order->file_hash?>&rl=1"><?php print _JSHOP_DOWNLOAD?></a></div>
            <?php }?>
 

Какая-то инфа должна выводиться в том месте, а что именно не понятно.
Этот файл не изменялся как в принципе и все файлы в папке templates.
Помогите убрать ошибку.
*

nevigen

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

mj23

  • Осваиваюсь на форуме
  • 28
  • 2 / 0
Re: Ошибки магазина
« Ответ #646 : 30.01.2014, 16:06:50 »
ссылка на скачивание файла.
и это не ошибка а warning
а где отключается/включается, чтобы в письме не было этого?

я пока нашел топорное решение, тупо вырезал фрагмент кода

Код
 <?php if (count($files)){?>
         <tr>
            <td colspan="5">
            <?php foreach($files as $file){?>
                <div><?php print $file->file_descr?> <a href="<?php print JURI::root()?>index.php?option=com_jshopping&controller=product&task=getfile&oid=<?php print $this->order->order_id?>&id=<?php print $file->id?>&hash=<?php print $this->order->file_hash?>&rl=1"><?php print _JSHOP_DOWNLOAD?></a></div>
            <?php }?>   
            </td>
         </tr>
         <?php }?>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #647 : 04.03.2014, 14:50:48 »
версия для J3 - \administrator\components\com_jshopping\views\addons\tmpl\edit.php

Цитировать
<form action="index.php?option=com_jshopping&controller=addons" method="post" enctype="multipart/form-data" name="adminForm" id="adminForm" id='adminForm'>
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Re: Ошибки магазина
« Ответ #648 : 15.03.2014, 21:11:30 »
Исправьте наконец создание пунктов меню для магазина... долгое время там в поле "Тип пункта меню" просто была пустота, теперь же, если попытаться отредактировать пункт меню, то приходится заново выбирать этот самый тип.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #649 : 05.05.2014, 17:22:25 »
Цитата: \components\com_jshopping\lib\shop_item_menu.php
           if (count($data)==3 && $data['controller']=="content" && $data['task']=="view" && $data['page']){
                $this->list_content[$data['page']] = $v->id;
            }

При билде ссылки присутствует только 2 параметра, task отсутствует. Соответственно, при создании пункта меню например на Условия доставки с алиасом dostavka, ссылка по прежнему имеет вид /content/view/shipping.html. И соответственно при переходе по меню site.com/dostavka.html - логичное 404
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Ошибки магазина
« Ответ #650 : 07.05.2014, 09:03:27 »
Исправьте наконец создание пунктов меню для магазина... долгое время там в поле "Тип пункта меню" просто была пустота, теперь же, если попытаться отредактировать пункт меню, то приходится заново выбирать этот самый тип.
Я уверен на 99.99% что никто ничего исправлять не будет. А все потому что:
1. Joomla не обеспечила обратной совместимости версии 1.5 и 2.5
2. JoomShopping построен для Joomla 1.5 и при переходе на 2.5 не перерабатывался исходя из логики что будет обратная совместимость (А еще мне кажется что им просто было лень все переделывать и лучше запустить новую версию быстрее, чем качественнее. Посмотрите на версию 4.0, там то же самое)

А учитывая что создание пунктов меню это достаточно редкая операция - Никто ничего не будет делать.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #651 : 12.05.2014, 18:44:12 »
При билде ссылки присутствует только 2 параметра, task отсутствует. Соответственно, при создании пункта меню например на Условия доставки с алиасом dostavka, ссылка по прежнему имеет вид /content/view/shipping.html. И соответственно при переходе по меню site.com/dostavka.html - логичное 404
Не вижу ошибки - имено 3 параметра должно быть.
*

dmitry_stas

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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #653 : 13.05.2014, 10:02:47 »
У меня Joomla 3.2.3 - нет ошибки.
Скриншот после сохранения?
*

dmitry_stas

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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #655 : 14.05.2014, 12:49:32 »
Версия Joomla?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина
« Ответ #656 : 14.05.2014, 13:54:44 »
по идее последняя в 3-й линейке, 3.3.0 вроде бы. точно уже сказать не могу, к сайту уже нет доступа. разбираться не стал, добавил руками в базе просто task=view для этого пункта меню
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #657 : 14.05.2014, 22:32:06 »
Протестировал на 3.3.0 - нет ошибки
есле задано
http://www.webdesigner-profi.de/joomla-webdesign/joomla-shop/forum/posts/7/955.html?lang=en#4
*

novikov82

  • Новичок
  • 9
  • 3 / 0
Re: Ошибки магазина
« Ответ #658 : 09.07.2014, 00:43:04 »
В файле models/checkout.php, строчка
Код
 if (!$sendmessage) return 1;
В результате, если нет уведомления покупателя, не вызывается событие
Код
$dispatcher->trigger('onAfterChangeOrderStatus', array(&$order_id, &$status, &$sendmessage));
Наверное, это неправильно.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина
« Ответ #659 : 09.07.2014, 17:50:32 »
Исправим в новой версии
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nevigen

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