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

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Хотелось бы сделать специальный вход для менеджеров по продажам через frontend, дав им только определенные функции работы с магазином - заказами, клиентами, товарами, .... .
То есть чтобы это делалось не  через панель администратора сайта (компоненту joomshopping), так как в этом случае получается много лишнего для работы менеджеров по продажам (и я бы не хотел давать им такие возможности).

Есть такая возможность ?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
У разработчика есть плагин Vendor front-end. Если я правильно понимаю, Вам именно это и нужно?
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Vendor front-end - для создания(продажи) продуктов через Фронт.

демаю не подойдет для вас.

Есть возможность настроить админку используя http://www.webdesigner-profi.de/joomla-webdesign/shop/addons/extend-access.html?lang=en
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Я бы купил этот аддон. Но проблема в том, как оплатить в Германию. Там только  оплата через банк или PayPal. Нельзя ли оплатить через webmoney ?
*

nevigen

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

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Купил через PayPal (paypal - это, конечно, обдираловка: сам продукт 15 евро плюс 6 евро взял себе PayPal. Итого 21 евро).  
Установил, настроил права доступа в соответствии со скриншотами (доступ только к категориям -товарам-заказам). Но при входе пользователя с этими правами доступа пользователь получил все равно доступ ко всему сайту и ко всем функциям магазина (опциям, настройкам, .....).
Может быть, есть какое-то еще неописанное действие при использовании этого аддона, которое надо сделать ?
« Последнее редактирование: 19.04.2013, 18:05:12 от FIORD_CMS »
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Група менеджер?

Все остальное нужно запретить
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Так и сделано (группа менеджер). Пришлось немного поэкспериментировать. На сайте разработчика работа показана (скриншоты) для группы администратор (?).
В конце концов работа аддона дала нужный эффект для компоненты магазина. Но задача ставилась шире - ограничить не только доступ к элементам магазина (это работает), но и к элементам (компонентам, модулям, статьям,...) сайта.
А то представьте, что заполнением карточек товаров занимается малоквалифицированный человек (да и для такой работы не нужно многого - рутинная работа, когда все отлажено). И тут это человек получает доступ к компонентам сайта и может наделать много чего ненужного.
Может быть подскажете, как можно ввести и такие ограничения на действия для группы менеджер ?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Я понимаю, что это настраивается в Joomla. Но, как, например, сделать, чтобы менеджер не видел (или хотя бы не мог в них войти) содержимого верхнего меню: Сайт, Пользователи, Меню, Материалы, ... ?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Попробуйте вставить код в шаблон панели управления сайта
administrator/templates/ваш шаблон/index.php сразу после defined('_JEXEC') or die;
Код: php-brief
//6-номер группы пользователей смотри в админке
if (JFactory::getApplication()->input->getCmd('option', '')!= 'com_jshopping' && JFactory::getUser()->groups['6'] ) {
//делаем редирект
JFactory::getApplication()->redirect(JURI::root().'administrator/index.php?option=com_jshopping');
return;
}
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
да зачем это? человеку трудно полазить в настройках
у меня получилось так

обычная настройка прав доступа
в "компонентах" только JoomShopping

http://clip2net.com/s/4WCtU8
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
У вас есть возможность изменить профиль тогда еще. По крайней мере поменять свой e-mail
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
У вас есть возможность изменить профиль тогда еще. По крайней мере поменять свой e-mail
да пусть меняет сколько угодно, хоть мейл, хоть логин\пароль - это чем-то грозит, у него станет больше прав от этого?
ну а правки в шаблоне слетят при первом же обновлении Joomla
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Неловко в этом признаваться (а не из-за лени), но вроде бы внимательно искал такую возможность в настройках. Но не нашел. Все равно вижу все пункты. Где же эта чудесная возможнсоть ?  Дайте плз либо ссылку либо скриншот. Буду весьма признателен.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
сайт - общие настройки - права - это вроде по умолчанию
далее везде (верхнее меню - пользователи, меню, материалы и т.д.) - справа есть "Настройки", а  дальше везде надо выставить так -
http://clip2net.com/s/4WCP6V для манагеров
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
да пусть меняет сколько угодно, хоть мейл, хоть логин\пароль - это чем-то грозит, у него станет больше прав от этого?
ну а правки в шаблоне слетят при первом же обновлении Joomla
Шаблон админ панели сайта, вы можете переопределить. Это такой же шаблон как и фронтальной части. И если стоит задача оставить пользователям доступ к одному компоненту только. То решение имеет смысл. К примеру у вас не будет возможности удалить изображения в медиа менеджере. При входе на сайт вы будете сразу в своем компоненте.
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Вариант решения ELLE дал нужный результат. Спасибо. Осталось решить только небольшую проблему - как убрать выпадающий список компонентов (смотрите скриншот) или хотя бы запретить менеджеру работать с этими компонентами. И тогда будет то, что и хотелось иметь.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
у каждого компонента есть свои "Настройки" справа, во все зайти и запретить управление компонентом для манагера, ну кроме джумшоппинга
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Так и сделал. Еще раз спасибо. Теперь единственное мелкое замечание - настройки оказались не у всех компонент.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Ну за всех отвечать не могу :)
Тогда воспользуйтесь советом от Федора
У меня обычно ничего не стоит кроме самого нужного, так что таких проблем не возникало )
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
.... Теперь единственное мелкое замечание - настройки оказались не у всех компонент.
Вооооттт ЕЛЛЕ видите, не прошли Вы экзамен. Садитесь пока 4.

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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Вооооттт ЕЛЛЕ видите, не прошли Вы экзамен. Садитесь пока 4.
:laugh:

гхм, не отходим от темы  8)
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Замечание было не в адрес ELLE, а в контексте обсуждаемой темы (насчет настроек в компонентах).  ;D
А в целом, конечно, общаться с ELLE оказалось весьма полезно.   
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Я понимаю, что это настраивается в Joomla. Но, как, например, сделать, чтобы менеджер не видел (или хотя бы не мог в них войти) содержимого верхнего меню: Сайт, Пользователи, Меню, Материалы, ... ?

Код
$jinput = JFactory::getApplication()->input;
$jinput->set( 'hidemainmenu', true );
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Региональность магазина

Автор misteri27

Ответов: 2
Просмотров: 678
Последний ответ 08.03.2020, 14:11:33
от misteri27
Вставка рекламы стороннего магазина после 5-го товара

Автор anatolij

Ответов: 7
Просмотров: 2029
Последний ответ 02.08.2018, 16:47:42
от kit2m2
Вывод количества заказов пользователя через плагин

Автор bantell

Ответов: 0
Просмотров: 814
Последний ответ 20.06.2018, 17:35:16
от bantell
[Решено] getTopHitsProducts не подхватывает значение через ajax

Автор pavel2950

Ответов: 8
Просмотров: 787
Последний ответ 14.02.2018, 12:19:41
от pavel2950
Вносим свои изменения в код магазина правильно

Автор mak200

Ответов: 5
Просмотров: 865
Последний ответ 27.07.2017, 15:47:16
от mak200