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

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Подскажите пожалуйста, как реализовать, нужно, чтобы файл input.csv каждый жень в 1:00 загружался на сайт через импорт.
Или подскажите, как задать в simpleimport сразу мой файл, и тогда через Cron сделаю автомат...
*

nevigen

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

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
я вроде искал, не нашел ничего похожего, ну сейчас посмотрю!
*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
http://joomlaforum.ru/index.php/topic,153884.0.html
Вот тут описано, но, к сожалению, импорт должен знать как брать файл, т.е. у меня в корне сайта будет лежать input.csv, который систематически будет обновляться, а ночью вся инфа обновляться на сайте...
Сейчас посмотрю ещё в темах, но помоему подобного вопроса нету(
У меня стандартный импорт/экспорт...
http://{your site}/index.php?option=com_jshopping&controller=importexport&task=start&key={Security Key}
Если Вы про это, то не пойму, как он поймет, что импортировать нужно именно мой файл?
com_jshopping/importexport/simpleimportutf8/ Сюда положить и всё должно работать?
*

nevigen

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

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
в админке можно, а потом нажать кнопочку импорт, а мне нужно чтобы он автоматически, без напоминаний брал этот файл и импортировал его...
я так понимаю тут функция
function view(){
        $jshopConfig = JSFactory::getConfig();
        $ie_id = JRequest::getInt("ie_id");
        $_importexport = JTable::getInstance('ImportExport', 'jshop');
        $_importexport->load($ie_id);
        $name = $_importexport->get('name');                       
           
        JToolBarHelper::title(_JSHOP_IMPORT. ' "'.$name.'"', 'generic.png' );
        JToolBarHelper::custom("backtolistie", "back", 'browser.png', _JSHOP_BACK_TO.' "'._JSHOP_PANEL_IMPORT_EXPORT.'"', false );       
        JToolBarHelper::spacer();
        JToolBarHelper::save("save", _JSHOP_IMPORT);   
       
        include(dirname(__FILE__)."/form.php"); 
    }
и файл форм.пхп
<form action = "index.php?option=com_jshopping&controller=importexport" method = "post" name = "adminForm" enctype = "multipart/form-data">
<input type = "hidden" name = "task" value = "" />
<input type = "hidden" name = "hidemainmenu" value = "0" />
<input type = "hidden" name = "boxchecked" value = "0" />
<input type = "hidden" name = "ie_id" value = "<?php print $ie_id;?>" />

<?php print _JSHOP_FILE?> (*.csv):
<input type="file" name="file">


</form>
Реально задать ему просто статический файл?..
*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Если я вместе include(dirname(__FILE__)."/form.php");
впишу просто inclide("мой файл");
он будет использовать его же?
тогда я просто simpleimport.php впиливаю в CRON и всё должно работать, так ведь?
*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Не работает, говорит Restricted access (ограничение доступа...)
Подскажите кто-нибудь, как быть...
*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Понял вроде как сделать автомат
http://{your site}/index.php?option=com_jshopping&controller=importexport&task=start&key={Security Key}
он вроде делает что-то, но КАК ему задать файл csv для импорта?
Подскажите умоляю, никак не могу понять...
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
simple import не поддерживает загрузку файлов в автомачитеском режиме.

http://www.webdesigner-profi.de/joomla-webdesign/shop/import-export/universal-csv-import.html - поддерживает

*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
да у  меня полностью готовый импорт (много именно своих функций), вообще не вариант тратить столько денег, ведь осталось только автомат настроить =(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

По скрипту импорта-экспорта

Автор kern.USR

Ответов: 19
Просмотров: 3712
Последний ответ 12.02.2018, 16:50:41
от kern.USR
Есть ли бесплатное решение для импорта с фото

Автор nick71

Ответов: 0
Просмотров: 1630
Последний ответ 20.04.2013, 19:18:52
от nick71
Как задать файл для автоматического импорта (.csv)?

Автор iceworm

Ответов: 2
Просмотров: 1735
Последний ответ 18.12.2012, 22:50:51
от Linfuby
Возможность импорта дополнительных цен

Автор bkru

Ответов: 1
Просмотров: 1245
Последний ответ 29.09.2012, 16:26:15
от victorantoniak