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

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Добрый день.
Хотелка захотела...  
Есть некий статический текст "Главная страница (Главная категория)"
Если его заполнить он печатается на Главной категории. НО КАК ?
Хотел создать статический текст для Регистрации, и распечатать его там, но вот не магу найти примера как он выводится. может подскажит ктонибуть ?

Тоже самое впринципе можно сделать либо вёрсткой шаблона страницы регистрации,
Либо создать "HTML модуль" и распечатать его в в шаблон:
<?php
$document   = JFactory::getDocument();
$renderer   = $document->loadRenderer('module');
$params = array('style'=>'xhtml');
$dbo = JFactory::getDBO();
$dbo->setQuery("SELECT * FROM #__modules WHERE id='указать айдишку модуля' ");
$module = $dbo->loadObject();
$module->user = '';
echo $renderer->render($module, $params);
 ?>

Но может всётаки есть возможность выводить на печать в шаблонах JoomShoping cтатический текст ?
« Последнее редактирование: 10.04.2014, 19:02:02 от avantyrist »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Хотелка захотела...   

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

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
ну можно сделать запрос к таблице #__jshopping_config_statictext вместо таблицы #__modules
Код
$dbo->setQuery("SELECT * FROM #__jshopping_config_statictext WHERE id='указать айдишку текста' ");
$text = $dbo->loadObject();
var_dump($text);
какая разница?)
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
создал статический текст "Описание регистрации"
Как его можно вывести на печать в шаблоне регистрации JoonShoping.

Пример такого рода на главной странице магазина со статическим текстом  "Главная страница (Главная категория)"
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
УХТЫ SmokerMan Thanks!
Приеду с  работы буду тестить !! :)

А JoomShoping  не поддерживает какогонить стандартного условия вывода "Статического текста"  ?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
А JoomShoping  не поддерживает какогонить стандартного условия вывода "Статического текста"  ?
наверное нет, можно еще так сделать
Код
$alias = 'альяс текста';
$table = JTable::getInstance('StaticText', 'jshop');
echo $table->loadData($alias)->text;
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
первый вариант - если он полный? , то приводит к белому экрану
Второй выводит, но вот выводит в какомто блоке: С кучей прописаных стилей
Спойлер
[свернуть]
Ну спрашивать откуда оно  тянет етот блок не буду, т.к. баюсь что правка потянет ешё непонятно что.
А с первым вариантом как быть ?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
добавьте
Код
$dbo = JFactory::getDBO();

и как по мне

Цитировать
Печать статического текста

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

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
первый и второй вариант - это одно и тоже.
отличие лишь в том что в качестве текста подставляется нужный текст для конкретного языка (русский, английский)
Первый вариант
Код
$dbo = JFactory::getDBO();
$dbo->setQuery("SELECT * FROM #__jshopping_config_statictext WHERE id='указать айдишку текста' ");
$text = $dbo->loadObject();
if ($text) {
echo $text->text_ru-RU; // описание на русском
echo $text->text_en-GB; // описание на английском
}


Цитировать
Второй выводит, но вот выводит в какомто блоке: С кучей прописаных стилей
значит эти стили прописаны в самом тексте, если отключить редактор при редактировании текста, то они должны быть там
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Если просто добавить $dbo = JFactory::getDBO(); как сказал dmitry_stas, то вылазит  от такая беда
Спойлер
[свернуть]

SmokerMan последний вариант выдаёт   --   0    "нолик"
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
SmokerMan последний вариант выдаёт   --   0    "нолик"
ну значит для данного языка текст не задан)
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Не чтото както тяжело... :)
Спасибо Вам большое за участие.
Решил просто вёрсткой добавить всё описание, в шаблон регистрации crazy!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
echo $text->text_ru-RU; // описание на русском
echo $text->text_en-GB; // описание на английском
ну значит для данного языка текст не задан)

значит что
Код
$text->text_ru - RU = 0
:)

надо
Код
echo $text->{'text_ru-RU'}

или
Код
$text_ru = 'text_ru-RU';
echo $text->$text_ru;
« Последнее редактирование: 10.04.2014, 23:29:40 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
чет не понял зачем для статического текста запросы в базу данных
что нельзя прямо в файл записать, зачем запросы
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
почему нельзя, можно конечно. причем ТС в итоге так и сделал :)

Решил просто вёрсткой добавить всё описание, в шаблон регистрации

что правда, не по тем причинам, по которым озвучили вы. но тем не менее истина восторжествовала :)

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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
а я уже думал что у меня моск перестал фунциклировать...

такие зухеры из за куска статического текста.
хорошо ОСь не пришлось для этого разрабатывать :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JoomShopping плагин подмены статического текста JoomShopping на материалы Joomla

Автор sergeytolkachyov

Ответов: 6
Просмотров: 1769
Последний ответ 01.03.2024, 13:41:05
от sergeytolkachyov
Nevigen: Переадресация регистрации и авторизации на JoomShopping

Автор Satool

Ответов: 5
Просмотров: 1117
Последний ответ 19.07.2023, 14:21:48
от nevigen
Скидка без регистрации

Автор Simply

Ответов: 5
Просмотров: 901
Последний ответ 04.04.2023, 23:52:47
от Simply
Корректировка текста на странице оформления заказ

Автор Buddy91

Ответов: 6
Просмотров: 924
Последний ответ 18.10.2021, 15:39:19
от Buddy91
Есть ли модуль регистрации для JoomShopping

Автор shop-user

Ответов: 4
Просмотров: 971
Последний ответ 24.03.2021, 22:41:07
от v42bis