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

kost757

  • Захожу иногда
  • 376
  • 1 / 2
2 сайта одновремено в одной cms -такое возможно?
чтобы у них были разные дизы и тп, одни пользователи.
давно видел тут тему про это и статью но несмог найти.  :'(
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: 2 сайта одновремено в одной cms
« Ответ #1 : 13.04.2014, 14:35:04 »
по идее, технически в J изначально реализовано 2 сайта: один управляет другим, админка и фронт, каждый может существовать сам по себе, у каждого свои шаблоны. Вот только вряд ли админка может управлять более чем одним сайтом. Опять же - домен только один.
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: 2 сайта одновремено в одной cms
« Ответ #3 : 13.04.2014, 15:57:46 »
да, была такая тема, если кратко, то используйте встроенную многоязычность и плагин привязки разных языков к разным доменам - ВСЕ!
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: 2 сайта одновремено в одной cms
« Ответ #4 : 13.04.2014, 16:04:08 »
да, можно сделать даже одну сессию на оба сайта. Если ее хранить в файле а не в базе, базы будут разные а сессия одна.
интернет-блог: http://websiteprog.ru
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: 2 сайта одновремено в одной cms
« Ответ #5 : 13.04.2014, 16:05:45 »
zomby6888, вы пробовали так делать? Мне кажется, что при достаточно большом траффике серверу это не понравицо. Зайдут, скажем, пара тысяч юзеров на сайт, и у всех сессии в файлах.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: 2 сайта одновремено в одной cms
« Ответ #6 : 13.04.2014, 16:06:58 »
сессия в одном файле хранится то вроде. но это вариант когда два сайта в разных папках я имел ввиду. да, я пробовал есть два сайта которые сейчас работают в таком режиме. Хотя может и для каждого юзера свой файл..Но пока вроде с нагрузкой проблем не было. Там же на самом деле можно много разных  хранилищ для сессий выбрать. Если будет совсем туго можно будет в memcache хранить.
« Последнее редактирование: 13.04.2014, 16:20:03 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: 2 сайта одновремено в одной cms
« Ответ #7 : 14.04.2014, 10:48:51 »
Позвольте нескромный вопрос: а зачем это?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: 2 сайта одновремено в одной cms
« Ответ #8 : 14.04.2014, 12:55:26 »
ну у меня, к примеру стояла задача, две копии одного, достаточно жирного компонента разместить на одном сайте. переименовывать там все классы, роутеры, обращения к БД очень геморно и чревато ошибками. плюс там потом потребовалось для второго компонента немного изменить функционал. Вот и решили сделать два сайта в одном какбы. Две папки и две базы, почти одинаковые. Но без сквозной авторизации смысла в этом мало, надо было чтобы заказчик мог легко перейти из админки  одного компонента в админку другого, без авторизации.
интернет-блог: http://websiteprog.ru
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
Re: 2 сайта одновремено в одной cms
« Ответ #9 : 19.04.2014, 18:00:38 »
Вообщем идея в том чтобы иметь несколько сайтов и одних общих пользователей. Как сделать с многоязычностью не представляю. Там поидее нужно разные модули выводить и тп.
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: 2 сайта одновремено в одной cms
« Ответ #10 : 19.04.2014, 22:41:15 »
Вообщем идея в том чтобы иметь несколько сайтов и одних общих пользователей. Как сделать с многоязычностью не представляю. Там поидее нужно разные модули выводить и тп.
русский язык - это ПЕРВЫЙ домен сиречь сайт
ставите например испанский язык - это ВТОРОЙ домен сиречь сайт
в админке все удобно - можно выбрать для какого языка будет доступен модуль или пункт меню, материалы также можно сделать доступными для разных языков. в админке можно фильтровать материалы (и модули) по языку - вот вам и удобный выбор - это первый сайт, это второй.
Надо что сделать:
поставить плагин переключения языков (каждому языку привязывается свой домен, домены естественно должны быть направлены на ОДИН хостинг)
скопировать русские языковые файлы, назвать их также как испанские файлы и перезалить их в папку языков, т.е. названия файлов будут как для испанского языка, а внутри будет все русское)))
все!

при этом все работает в штатном режиме, юзеры одни, база одна, компоненты-плагины обновлять надо ОДИН раз, а не несколько раз на каждом отдельном сайте - не вижу вообще минусов, одни плюсы!
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
Re: 2 сайта одновремено в одной cms
« Ответ #11 : 20.04.2014, 12:40:47 »
русский язык - это ПЕРВЫЙ домен сиречь сайт
ставите например испанский язык - это ВТОРОЙ домен сиречь сайт
в админке все удобно - можно выбрать для какого языка будет доступен модуль или пункт меню, материалы также можно сделать доступными для разных языков. в админке можно фильтровать материалы (и модули) по языку - вот вам и удобный выбор - это первый сайт, это второй.
Надо что сделать:
поставить плагин переключения языков (каждому языку привязывается свой домен, домены естественно должны быть направлены на ОДИН хостинг)
скопировать русские языковые файлы, назвать их также как испанские файлы и перезалить их в папку языков, т.е. названия файлов будут как для испанского языка, а внутри будет все русское)))
все!

при этом все работает в штатном режиме, юзеры одни, база одна, компоненты-плагины обновлять надо ОДИН раз, а не несколько раз на каждом отдельном сайте - не вижу вообще минусов, одни плюсы!

Интересно. вы не запатентовали этот способ? ато щас ктонить статью напишет..
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
Re: 2 сайта одновремено в одной cms
« Ответ #12 : 20.04.2014, 12:57:53 »
разные шаблоны тоже можно?
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: 2 сайта одновремено в одной cms
« Ответ #13 : 20.04.2014, 19:21:23 »
Интересно. вы не запатентовали этот способ? ато щас ктонить статью напишет..
да какой! уже полгода везде предлагаю этот способ, все ссат! я просто сам пробовал, все чики-пуик! а кто боится пробовать, то кончено боязно, вобщем не надо ссать!!))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
Re: 2 сайта одновремено в одной cms
« Ответ #14 : 21.04.2014, 22:51:49 »
а что боятся? запутатся боятся.
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: 2 сайта одновремено в одной cms
« Ответ #15 : 22.04.2014, 08:58:09 »
а что боятся? запутатся боятся.

та ну на!!
чо путаться? ни разу в админке не лазили толи? более удобного варианта именно с точки зрения лазания в админке НЕ ВИЖУ!! можно отфильтровать по выбранному языку, можно упорядочить по языку, можно, упорядочив по имени например материала, смотреть - ага - этот материал есть в одной версии, а этот материал в двух языковых (сиречь двухдоменных) версиях.
тут уж так или инчае сайт становится более глубокострктурированным, цеж второй домен люди хотят!!
еще есть кончено вариант например как у zoo и платного плагина перевода - там в ОДНОМ материале ВНУТРИ поля для разных языков (сиречь доменов), хз, удобнее ли... JoomFish также вроде работает, но цеж доп компоненты.
а я талдычу про ШТАТНЫЙ режим работы в режиме НОУ-ДОП-КОМПОНЕНТ!!))))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
Re: 2 сайта одновремено в одной cms
« Ответ #16 : 27.04.2014, 14:00:09 »
та ну на!!
чо путаться? ни разу в админке не лазили толи? более удобного варианта именно с точки зрения лазания в админке НЕ ВИЖУ!! можно отфильтровать по выбранному языку, можно упорядочить по языку, можно, упорядочив по имени например материала, смотреть - ага - этот материал есть в одной версии, а этот материал в двух языковых (сиречь двухдоменных) версиях.
тут уж так или инчае сайт становится более глубокострктурированным, цеж второй домен люди хотят!!
еще есть кончено вариант например как у zoo и платного плагина перевода - там в ОДНОМ материале ВНУТРИ поля для разных языков (сиречь доменов), хз, удобнее ли... JoomFish также вроде работает, но цеж доп компоненты.
а я талдычу про ШТАТНЫЙ режим работы в режиме НОУ-ДОП-КОМПОНЕНТ!!))))
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
Re: 2 сайта одновремено в одной cms
« Ответ #17 : 27.04.2014, 14:15:46 »
какой плагин импользовать для разделения по доменам? шаблон я так понял будет одинаковый?
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: 2 сайта одновремено в одной cms
« Ответ #18 : 27.04.2014, 17:19:06 »
какой плагин импользовать для разделения по доменам? шаблон я так понял будет одинаковый?
http://extensions.joomla.org/extensions/languages/multi-lingual-content/22570
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: 2 сайта одновремено в одной cms
« Ответ #19 : 27.04.2014, 19:10:00 »
А если в обоих случаях требуется русский язык, просто разные шаблоны, как быть?
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: 2 сайта одновремено в одной cms
« Ответ #20 : 27.04.2014, 21:54:54 »
А если в обоих случаях требуется русский язык, просто разные шаблоны, как быть?
ответ#10 прочитайте внимательно и медленно. как раз имеется ввиду, то ВЕЗДЕ русский язык будет, но для разных доменов
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 1232
Последний ответ 21.05.2025, 12:44:06
от jeans
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1337
Последний ответ 24.03.2025, 20:03:01
от R31rus
Множество несуществующих ссылок при обходе сайта роботом Яндекс

Автор goga_pgasovav

Ответов: 7
Просмотров: 1364
Последний ответ 10.12.2024, 18:44:25
от goga_pgasovav
Антивирус нашел вредоносный код в двух файлах сайта polyfill

Автор buto

Ответов: 4
Просмотров: 1159
Последний ответ 19.10.2024, 10:56:55
от wishlight
Шаблон для данной страницы недоступен. сообщите об этом Администратору сайта

Автор 62411

Ответов: 2
Просмотров: 1381
Последний ответ 30.03.2024, 13:15:16
от web1