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

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Однажды, когда изучал данный компонент, заморочился вопросом о том, что неплохо было бы сделать там не дефолтные социальные закладки, а актуальные для рунета. Выкладываю решения и необходимые файлы тут - мало ли, кому пригодится. К сожалению не нашел ничего похожего в данном разделе (если тема вдруг была, ногами не пинайте).  ^-^

Итак, скачиваем прикрепленный архив.

1. Файл bookmarks.gif кидаем в папку: /components/com_community/templates/default/images/ - заменяем родной файлик
2. Файл bookmarks.php кидаем в папку: /components/com_community/libraries/ - заменяем родной файлик
3. Файл style.css кидаем в папку: /components/com_community/templates/default/css/ - заменяем родной файлик

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

Делал не для последних версий, но для актуальных версий все файлы подходят.

[вложение удалено Администратором]
*

tigr04

  • Захожу иногда
  • 119
  • 0 / 0
Привет! Спасибо за модификацию плагина. Ты бы мог добавить туда еще одноклассники?
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
А там делается все по аналогии. ) Просто код гляньте файла bookmarks.php Надо вставить иконку одноклассников в файл bookmarks.gif и прописать адрес в bookmarks.php )))
*

Жук

  • Захожу иногда
  • 79
  • 7 / 0
Спасибо. Пригодится. А под какую версию JomSocial файлы?
Цитировать
Делал не для последних версий, но для актуальных версий все файлы подходят.
Актуальных - понятие растяжимое.
*

tSerOZZ

  • Новичок
  • 7
  • 0 / 0
на 2.0.4 получилось очень криво   :(
можно это как-то исправить? Вернуть родные файлы на место не предлагать  ;)
*

tSerOZZ

  • Новичок
  • 7
  • 0 / 0
на 2.0.4 получилось очень криво   :(
можно это как-то исправить? Вернуть родные файлы на место не предлагать  ;)

Хотя... получилось без танцев с бубном (F5 помогла), только с Яндексом косяк :(
*

tigr04

  • Захожу иногда
  • 119
  • 0 / 0
привязал одноклассников, добавил иконку в bookmarks.gif, но вместо иконки одноклассников отображается значок контакта?
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
привязал одноклассников, добавил иконку в bookmarks.gif, но вместо иконки одноклассников отображается значок контакта?

В файле style.css посмотрите - там все должно идти по порядку.
*

tSerOZZ

  • Новичок
  • 7
  • 0 / 0
привязал одноклассников, добавил иконку в bookmarks.gif, но вместо иконки одноклассников отображается значок контакта?

Если все срастется, поделитесь файликами, я со своими руками не дружу в плане переделки. ;)
*

Adam.K

  • Захожу иногда
  • 135
  • 3 / 0
  • Чтож со зрением то делать? Совсем испортилось.
Посоветуйте пожалуйста подобное на Joomla 1.0.15
*

shtier

  • Захожу иногда
  • 76
  • 6 / 0
привязал одноклассников, добавил иконку в bookmarks.gif, но вместо иконки одноклассников отображается значок контакта?
Как ссылку написали?, что-то у меня не выходит
*

shtier

  • Захожу иногда
  • 76
  • 6 / 0
Сам спросил сам отвечаю ) http://www.odnoklassniki.ru/dk?st.cmd=addShare&st.
*

shtier

  • Захожу иногда
  • 76
  • 6 / 0
*

slepoy

  • Давно я тут
  • 753
  • 24 / 0
  • Тотальная шизофазия
Для JS 1.8.x подойдет?
Помог? Поставь(те) плюс в репутацию.
*

LazyGod

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
А с Яндексом надо  http://zakladki.yandex.ru/userarea/links/addfromfav.asp?bAddLink_x=1&lurl=       
заменить на: http://zakladki.yandex.ru/userarea/links/addfromfav.asp?bAddLink_x=1&lname=&lurl=
Друг, будь добр, прикрепи файлы - окончательный вариант
*

cresh12

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
присоединяюсь под просьбой LazyGod. Выложите пожалуйста кто нибудь окончательный рабочий вариант.
Заранее спасибо!
*

tSerOZZ

  • Новичок
  • 7
  • 0 / 0
Буду благодарен за готовый рабочий вариант
*

almas

  • Захожу иногда
  • 124
  • 0 / 3
  • Крепкий орешег
у меня 2.0.6 все отлично работает. спс чел!  :D
*

cyroot

  • Осваиваюсь на форуме
  • 10
  • 9 / 0
c версией JomSocial Version: 2.2.1 не работает файл CSS скиньте если есть обновлённую версию. Спасибо!
*

ZeRa

  • Новичок
  • 9
  • 0 / 0
Итак, скачиваем прикрепленный архив В ШАПКЕ ТЕМЫ.

1. Файл bookmarks.gif кидаем в папку: /components/com_community/templates/default/images/ - заменяем родной файлик
2. Файл bookmarks.php кидаем в папку: /components/com_community/libraries/ - заменяем родной файлик
3. В Файле САЙТ/components/com_community/templates/default/css/style.old.css
ищем:
Код
div#cWindowContent ul.bookmarks-list li a {
background: transparent url(../images/bookmarks.gif) no-repeat 0 0;
text-decoration: none;
display: table-cell;
line-height: 16px;
padding-left: 20px;
color: #666
}
div#cWindowContent ul.bookmarks-list li a:hover {
color: #000
}
div#cWindowContent ul.bookmarks-list li a.newsvine {
background-position: 0 0
}
div#cWindowContent ul.bookmarks-list li a.stumbleupon {
background-position: 0 -20px
}
div#cWindowContent ul.bookmarks-list li a.technorati {
background-position: 0 -40px
}
div#cWindowContent ul.bookmarks-list li a.twine {
background-position: 0 -60px
}
div#cWindowContent ul.bookmarks-list li a.twitter {
background-position: 0 -80px
}
div#cWindowContent ul.bookmarks-list li a.xanga {
background-position: 0 -100px
}
div#cWindowContent ul.bookmarks-list li a.ybookmarks {
background-position: 0 -120px
}
div#cWindowContent ul.bookmarks-list li a.aim {
background-position: 0 -140px
}
div#cWindowContent ul.bookmarks-list li a.bebo {
background-position: 0 -160px
}
div#cWindowContent ul.bookmarks-list li a.blinklist {
background-position: 0 -180px
}
div#cWindowContent ul.bookmarks-list li a.blogmarks {
background-position: 0 -200px
}
div#cWindowContent ul.bookmarks-list li a.delicious {
background-position: 0 -220px
}
div#cWindowContent ul.bookmarks-list li a.digg {
background-position: 0 -240px
}
div#cWindowContent ul.bookmarks-list li a.diigo {
background-position: 0 -260px
}
div#cWindowContent ul.bookmarks-list li a.facebook {
background-position: 0 -280px
}
div#cWindowContent ul.bookmarks-list li a.faves {
background-position: 0 -300px
}
div#cWindowContent ul.bookmarks-list li a.friendster {
background-position: 0 -320px
}
div#cWindowContent ul.bookmarks-list li a.furl {
background-position: 0 -340px
}
div#cWindowContent ul.bookmarks-list li a.google {
background-position: 0 -360px
}
div#cWindowContent ul.bookmarks-list li a.linkedin {
background-position: 0 -380px
}
div#cWindowContent ul.bookmarks-list li a.live {
background-position: 0 -400px
}
div#cWindowContent ul.bookmarks-list li a.myspace {
background-position: 0 -420px

и заменяем на:

Код
		div#cWindowContent ul.bookmarks-list li a
{
background: transparent url(../images/bookmarks.gif) no-repeat 0 0;
text-decoration: none;
display: table-cell;
line-height: 16px;
padding-left: 20px;
color: #666;
}
div#cWindowContent ul.bookmarks-list li a:hover {
color: #000;
}

div#cWindowContent ul.bookmarks-list li a.vkontakte {
background-position: 0 0;
}
div#cWindowContent ul.bookmarks-list li a.twitter {
background-position: 0 -20px;
}
div#cWindowContent ul.bookmarks-list li a.moimir {
background-position: 0 -40px;
}
div#cWindowContent ul.bookmarks-list li a.memori {
background-position: 0 -60px;
}
div#cWindowContent ul.bookmarks-list li a.google {
background-position: 0 -80px;
}
div#cWindowContent ul.bookmarks-list li a.mrwong {
background-position: 0 -100px;
}
div#cWindowContent ul.bookmarks-list li a.stozakladok {
background-position: 0 -120px;
}
div#cWindowContent ul.bookmarks-list li a.facebook {
background-position: 0 -140px;
}
div#cWindowContent ul.bookmarks-list li a.friendfeed {
background-position: 0 -160px;
}
div#cWindowContent ul.bookmarks-list li a.livejournal {
background-position: 0 -180px;
}
div#cWindowContent ul.bookmarks-list li a.bobrdobr {
background-position: 0 -200px;
}
div#cWindowContent ul.bookmarks-list li a.yandex {
background-position: 0 -220px;
}
div#cWindowContent ul.bookmarks-list li a.delicious {
background-position: 0 -240px;
}
div#cWindowContent ul.bookmarks-list li a.moemesto {
background-position: 0 -260px;




Все. Теперь у вас в социальных закладках все основные сети, вместо тех, что были дефолтными. По аналогии добавляем другие сети, если кому что надо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] JomSocial Как перенести правую колону (обо мне, последние группы, кто в сети и т.д.) с прав

Автор galemus

Ответов: 15
Просмотров: 7612
Последний ответ 29.11.2014, 23:43:36
от ingavr
Соц закладки на каждое действее в ленте активности

Автор sliverr_free

Ответов: 0
Просмотров: 1076
Последний ответ 29.11.2012, 15:54:32
от sliverr_free
* Поля профиля [Решено]

Автор yhg

Ответов: 3
Просмотров: 1923
Последний ответ 01.02.2011, 00:31:55
от yhg
[Решено] Не видно текста в приложениях

Автор Klaf

Ответов: 2
Просмотров: 1948
Последний ответ 27.04.2010, 23:58:36
от Klaf
[Решено] Отображение в опере - хелп!

Автор Darknemo

Ответов: 7
Просмотров: 2542
Последний ответ 19.02.2010, 10:52:45
от PashkaRu