Новости 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 Ответов
  • 4617 Просмотров
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
VTEM Tooltip
« : 06.09.2012, 20:34:49 »
Попробовал прикрутить VTEM Tooltip, но что-то не очень он и работать хочет. Подсказку показывает, а вот стиль не выводит.

Как делал я?
1. Сам плагин поставил через "менеджер расширений".
2. Подключил jQuery. Саму библиотеку скачал с оффа, закинул в корень templates/шаблон/js/jquery-1.8.1.js.
3. В index.php шаблона между тегами <head></head> добавил "<script type="text/javascript" src="<?php echo $this->baseurl ;?>/templates/шаблон/js/jquery-1.8.1.js" ></script>"

Может я неправильно библиотеку подключил?

В общем все это дело выглядит вот так:


Как видим, нужный мне стиль не выводится, только обычная рамка.
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
Re: VTEM Tooltip
« Ответ #1 : 07.09.2012, 12:34:26 »
Ребята, кто подключал библиотеку jQuery? Я правильно ее подключил?
*

pyh

  • Захожу иногда
  • 117
  • 11 / 0
Re: VTEM Tooltip
« Ответ #2 : 08.09.2012, 00:50:02 »
джумшоп сам подключает jquery

Может конфликт.
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
Re: VTEM Tooltip
« Ответ #3 : 15.09.2012, 04:22:35 »
В моем ЖШ он сам его не подключает )
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
Re: VTEM Tooltip
« Ответ #4 : 15.09.2012, 04:23:22 »
Нуу... Ребята, у кого еще какие идеи?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: VTEM Tooltip
« Ответ #5 : 15.09.2012, 08:40:21 »
Идея есть. Ну для начала удалить <?php echo $this->baseurl ;?> (лишние строки кода)
Во вторых прописать стили в CSS в соответствии с классами тултипа.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
Re: VTEM Tooltip
« Ответ #6 : 16.09.2012, 21:20:45 »
Странно как-то. Не могу понять. Смотрю через ФаерБаг, он показывает что используется CSS из файла qjuery.qtip.css, но только 1 строка:
".vtemtooltip {
    cursor: pointer !important;
}"

А потом уже ЖШ'кий reset.css, и то по ходу только одно значение "span".

Смотрю сам qjuery.qtip.css - там прописано всё, все стили.

Сама формулировка на вывод имеет такой вид:
"{vtemtooltip title=[Tooltip title] data=[Lorem ipsum dolor sit amet] link=[Dark style] style=[dark]}" (В ФаерБаге:"<span id="vtemtooltip1" class="vtemtooltip" data="Lorem ipsum dolor sit amet" title="Tooltip title">Dark style</span>")

Собственно сам файл qjuery.qtip.css:
Код
/* Core qTip styles */
.vtemtooltip{cursor:pointer !important;}
.ui-tooltip, .qtip{
position: absolute;
left: -28000px;
top: -28000px;
display: none;
min-width: 50px;
font-size: 10.5px;
line-height: 12px;
}

/* Fluid class for determining actual width in IE */
.ui-tooltip-fluid{
display: block;
visibility: hidden;
position: static !important;
float: left !important;
}

.ui-tooltip-content{
position: relative;
padding: 5px 9px;
overflow: hidden;

border: 1px solid #000001;

text-align: left;
word-wrap: break-word;
overflow: hidden;
}

.ui-tooltip-titlebar{
position: relative;
min-height: 14px;
padding: 5px 35px 5px 10px;
overflow: hidden;

border: 1px solid #000001;
border-width: 1px 1px 0;

font-weight: bold;
}

.ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0px !important; }

/*! Default close button class */
.ui-tooltip-titlebar .ui-state-default{
position: absolute;
right: 4px;
top: 50%;
margin-top: -9px;

cursor: pointer;
outline: medium none;

border-width: 1px;
border-style: solid;
}

* HTML .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */

.ui-tooltip-titlebar .ui-icon,
.ui-tooltip-icon .ui-icon{
display: block;
text-indent: -1000em;
}

.ui-tooltip-icon, .ui-tooltip-icon .ui-icon{
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}

.ui-tooltip-icon .ui-icon{
width: 18px;
height: 14px;

text-align: center;
text-indent: 0;
font: normal bold 10px/13px Tahoma,sans-serif;

color: inherit;
background: transparent none no-repeat -100em -100em;
}


/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */
.ui-tooltip-focus{

}

/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */
.ui-tooltip-hover{

}


/*! Default tooltip style */
.ui-tooltip-default .ui-tooltip-titlebar,
.ui-tooltip-default .ui-tooltip-content{
border-color: #F1D031;
background-color: #FFFFA3;
color: #555;
}

.ui-tooltip-default .ui-tooltip-titlebar{
background-color: #FFEF93;
}

.ui-tooltip-default .ui-tooltip-icon{
border-color: #CCC;
background: #F1F1F1;
color: #777;
}

.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{
border-color: #AAA;
color: #111;
}

/* Tips plugin */
.ui-tooltip .ui-tooltip-tip{
margin: 0 auto;
overflow: hidden;
z-index: 10;
}

.ui-tooltip .ui-tooltip-tip,
.ui-tooltip .ui-tooltip-tip *{
position: absolute;

line-height: 0.1px !important;
font-size: 0.1px !important;
color: #123456;

background: transparent;
border: 0px dashed transparent;
}

.ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; }


/* Modal plugin */
#qtip-overlay{
position: fixed;
left: -10000em;
top: -10000em;
}

/* Applied to modals with show.modal.blur set to true */
#qtip-overlay.blurs{ cursor: pointer; }

/* Change opacity of overlay here */
#qtip-overlay div{
position: absolute;
left: 0; top: 0;
width: 100%; height: 100%;

background-color: black;

opacity: 0.7;
filter:alpha(opacity=70);
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

/*! Light tooltip style */
.ui-tooltip-light .ui-tooltip-titlebar,
.ui-tooltip-light .ui-tooltip-content{
border-color: #E2E2E2;
color: #454545;
}

.ui-tooltip-light .ui-tooltip-content{
background-color: white;
}

.ui-tooltip-light .ui-tooltip-titlebar{
background-color: #f1f1f1;
}


/*! Dark tooltip style */
.ui-tooltip-dark .ui-tooltip-titlebar,
.ui-tooltip-dark .ui-tooltip-content{
border-color: #303030;
color: #f3f3f3;
}

.ui-tooltip-dark .ui-tooltip-content{
background-color: #505050;
}

.ui-tooltip-dark .ui-tooltip-titlebar{
background-color: #404040;
}

.ui-tooltip-dark .ui-tooltip-icon{
border-color: #444;
}

.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{
border-color: #303030;
}


/*! Cream tooltip style */
.ui-tooltip-cream .ui-tooltip-titlebar,
.ui-tooltip-cream .ui-tooltip-content{
border-color: #F9E98E;
color: #A27D35;
}

.ui-tooltip-cream .ui-tooltip-content{
background-color: #FBF7AA;
}

.ui-tooltip-cream .ui-tooltip-titlebar{
background-color: #F0DE7D;
}

.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{
background-position: -82px 0;
}


/*! Red tooltip style */
.ui-tooltip-red .ui-tooltip-titlebar,
.ui-tooltip-red .ui-tooltip-content{
border-color: #D95252;
color: #912323;
}

.ui-tooltip-red .ui-tooltip-content{
background-color: #F78B83;
}

.ui-tooltip-red .ui-tooltip-titlebar{
background-color: #F06D65;
}

.ui-tooltip-red .ui-state-default .ui-tooltip-icon{
background-position: -102px 0;
}

.ui-tooltip-red .ui-tooltip-icon{
border-color: #D95252;
}

.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{
border-color: #D95252;
}


/*! Green tooltip style */
.ui-tooltip-green .ui-tooltip-titlebar,
.ui-tooltip-green .ui-tooltip-content{
border-color: #90D93F;
color: #3F6219;
}

.ui-tooltip-green .ui-tooltip-content{
background-color: #CAED9E;
}

.ui-tooltip-green .ui-tooltip-titlebar{
background-color: #B0DE78;
}

.ui-tooltip-green .ui-state-default .ui-tooltip-icon{
background-position: -42px 0;
}


/*! Blue tooltip style */
.ui-tooltip-blue .ui-tooltip-titlebar,
.ui-tooltip-blue .ui-tooltip-content{
border-color: #ADD9ED;
color: #5E99BD;
}

.ui-tooltip-blue .ui-tooltip-content{
background-color: #E5F6FE;
}

.ui-tooltip-blue .ui-tooltip-titlebar{
background-color: #D0E9F5;
}

.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{
background-position: -2px 0;
}

/*! Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE6+, Safari 2+ */
.ui-tooltip-shadow{
-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
}

.ui-tooltip-shadow .ui-tooltip-titlebar,
.ui-tooltip-shadow .ui-tooltip-content{
filter: progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3);
-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3)";

_margin-bottom: -3px; /* IE6 */
.margin-bottom: -3px; /* IE7 */
}


/*! Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */
.ui-tooltip-rounded,
.ui-tooltip-rounded .ui-tooltip-content,
.ui-tooltip-tipsy,
.ui-tooltip-tipsy .ui-tooltip-content,
.ui-tooltip-youtube,
.ui-tooltip-youtube .ui-tooltip-content{
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
}

.ui-tooltip-rounded .ui-tooltip-titlebar,
.ui-tooltip-tipsy .ui-tooltip-titlebar,
.ui-tooltip-youtube .ui-tooltip-titlebar{
-moz-border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
border-radius: 5px 5px 0 0;
}

.ui-tooltip-rounded .ui-tooltip-titlebar + .ui-tooltip-content,
.ui-tooltip-tipsy .ui-tooltip-titlebar + .ui-tooltip-content,
.ui-tooltip-youtube .ui-tooltip-titlebar + .ui-tooltip-content{
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}


/*! Youtube tooltip style */
.ui-tooltip-youtube{
-webkit-box-shadow: 0 0 3px #333;
-moz-box-shadow: 0 0 3px #333;
box-shadow: 0 0 3px #333;
}

.ui-tooltip-youtube .ui-tooltip-titlebar,
.ui-tooltip-youtube .ui-tooltip-content{
_margin-bottom: 0; /* IE6 */
.margin-bottom: 0; /* IE7 */

background: transparent;
background: rgba(0, 0, 0, 0.85);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";

color: white;
border-color: #CCCCCC;
}

.ui-tooltip-youtube .ui-tooltip-icon{
border-color: #222;
}

.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{
border-color: #303030;
}


/* jQuery TOOLS Tooltip style */
.ui-tooltip-jtools{
background: #232323;
background: rgba(0, 0, 0, 0.7);
background-image: -moz-linear-gradient(top, #717171, #232323);
background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));

border: 2px solid #ddd;
border: 2px solid rgba(241,241,241,1);

-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;

-webkit-box-shadow: 0 0 12px #333;
-moz-box-shadow: 0 0 12px #333;
box-shadow: 0 0 12px #333;
}

/* IE Specific */
.ui-tooltip-jtools .ui-tooltip-titlebar{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)";
}
.ui-tooltip-jtools .ui-tooltip-content{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)";
}

.ui-tooltip-jtools .ui-tooltip-titlebar,
.ui-tooltip-jtools .ui-tooltip-content{
background: transparent;
color: white;
border: 0 dashed transparent;
}

.ui-tooltip-jtools .ui-tooltip-icon{
border-color: #555;
}

.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{
border-color: #333;
}


/* Cluetip style */
.ui-tooltip-cluetip{
-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
}

.ui-tooltip-cluetip .ui-tooltip-titlebar{
background-color: #87876A;
color: white;
border: 0 dashed transparent;
}

.ui-tooltip-cluetip .ui-tooltip-content{
background-color: #D9D9C2;
color: #111;
border: 0 dashed transparent;
}

.ui-tooltip-cluetip .ui-tooltip-icon{
border-color: #808064;
}

.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{
border-color: #696952;
color: #696952;
}


/* Tipsy style */
.ui-tooltip-tipsy{
border: 0;
}

.ui-tooltip-tipsy .ui-tooltip-titlebar,
.ui-tooltip-tipsy .ui-tooltip-content{
_margin-bottom: 0; /* IE6 */
.margin-bottom: 0; /* IE7 */

background: transparent;
background: rgba(0, 0, 0, .87);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";

color: white;
border: 0px transparent;

font-size: 11px;
font-family: 'Lucida Grande', sans-serif;
font-weight: bold;
line-height: 16px;
text-shadow: 0 1px black;
}

.ui-tooltip-tipsy .ui-tooltip-titlebar{
padding: 6px 35px 0 10;
}

.ui-tooltip-tipsy .ui-tooltip-content{
padding: 6px 10;
}

.ui-tooltip-tipsy .ui-tooltip-icon{
border-color: #222;
text-shadow: none;
}

.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{
border-color: #303030;
}


/* Tipped style */
.ui-tooltip-tipped{

}

.ui-tooltip-tipped .ui-tooltip-titlebar,
.ui-tooltip-tipped .ui-tooltip-content{
border: 3px solid #959FA9;

filter: none; -ms-filter: none;
}

.ui-tooltip-tipped .ui-tooltip-titlebar{
background: #3A79B8;
background-image: -moz-linear-gradient(top, #3A79B8, #2E629D);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)";

color: white;
font-weight: normal;
font-family: serif;

border-bottom-width: 0;
-moz-border-radius: 3px 3px 0 0;
-webkit-border-radius: 3px 3px 0 0;
border-radius: 3px 3px 0 0;
}

.ui-tooltip-tipped .ui-tooltip-content{
background-color: #F9F9F9;
color: #454545;

-moz-border-radius: 0 0 3px 3px;
-webkit-border-radius: 0 0 3px 3px;
border-radius: 0 0 3px 3px;
}

.ui-tooltip-tipped .ui-tooltip-icon{
border: 2px solid #285589;
background: #285589;
}

.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{
background-color: #FBFBFB;
color: #555;
}

/* IE9 fix - removes all filters */
.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,
.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{
filter: none;
-ms-filter: none;
}
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
Re: VTEM Tooltip
« Ответ #7 : 19.09.2012, 19:12:14 »
Ну гляньте хоть код, он правильно прописан на вывод с CSS?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: VTEM Tooltip
« Ответ #8 : 23.09.2012, 09:39:48 »
Уважаемый ikus, обратитесь к разработчику расширения с вопросами о правильности формирования строки вывода.
И запомните простые истины:
Если купили расширение и оно не работает - к разработчику.
Если купили расширение и оно не совместимо с заявленными приложениями - к разработчику.
Если используйте нелегальные расширения - на сайт htmlbook.ru
Если лень читать и хотите обсудить проблему на форуме, то пиши в соответствующих ветках. (VTEM Tooltip не относится к JoomShopping)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

ikus

  • Захожу иногда
  • 94
  • 0 / 0
Re: VTEM Tooltip
« Ответ #9 : 23.09.2012, 23:27:04 »
Уважаемый ikus, обратитесь к разработчику расширения с вопросами о правильности формирования строки вывода.
И запомните простые истины:
Если купили расширение и оно не работает - к разработчику.
Если купили расширение и оно не совместимо с заявленными приложениями - к разработчику.
Если используйте нелегальные расширения - на сайт htmlbook.ru
Если лень читать и хотите обсудить проблему на форуме, то пиши в соответствующих ветках. (VTEM Tooltip не относится к JoomShopping)

Спасибо, познавательно. В начале темы я спросил: "может кто-то подключал подобное расширение"? (думаю понятно что здесь я сделал предположение). Истины я запомню. Лень читать? - Нет, не лень. Вот только покажите мне где кто-то упоминал о подобной проблеме. Соответствующая ветка - пост здесь из-за того что я его подключаю к JoomShopping.
*

pantela

  • Захожу иногда
  • 257
  • 1 / 0
Re: VTEM Tooltip
« Ответ #10 : 18.10.2012, 13:11:58 »
В плагине имеется свой jQuery JavaScript Library v1.4.4
А при попытке подключить jQuery JavaScript Library v1.5, тогда сбой...

Странно что на новой версии не работает...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться