PDA

Просмотр полной версии : Получение значения в {field: }?


Илья
16.03.2011, 04:38
Привет.
Использую галерею chgallery совместно с perfectlightbox.
Экземпляры галереи вставляются в новости.
Все работает, но не совсем как надо.
Имея несколько новостей (3 новости) с разными галереями (по 6 фото) на одной странице получаю в лайтбоксе все фотографии в кучу, вместо 3-х галерей по 6 фото вижу одну на 18!
Это происходит из-за неправильных настроек в ссылках на фото:
typolink {
parameter.override.cObject = IMG_RESOURCE
parameter.override.cObject.file.import.data = TSFE:lastImageInfo|origFile
parameter.override.cObject.file.maxW = 800
parameter.override.cObject.file.maxH = 600

ATagParams = rel="lightbox"

ATagParams.override = rel="lightbox[sb{field:uid}]"

ATagParams.insertData = 1
}
Этот кусок:
rel="lightbox[sb{field:uid}]"
генерит одинаковый код ДЛЯ ВСЕХ 3-Х галерей, подставляя вместо {field:uid} - uid контент элемента, в который вставлен плагин новостей.
Возможно ли вставлять вместо этого id новости, в которую вставлена галерея, или название директории, где лежат фото? Есть ли универсальный метод для этого?
PS Или доступ к новостям можно получить только с помощью хука?

Илья
17.03.2011, 13:38
Вот что требовалось.
Есть такой html
<div class="class1">
<div class="class2">
<div class="class3">
<a rel="lightbox">
<a rel="lightbox">
</div>
</div>
</div>
<div class="class1">
<div class="class2">
<div class="class3">
<a rel="lightbox">
<a rel="lightbox">
</div>
</div>
</div>
...

надо сделать в первом диве "class1" у всех <a rel="lightbox0">, во втором - <a rel="lightbox1"> и так далее...
В результате сделал на jQuery
$("div.class1").each(function (i) {
$("a", this).attr("rel", "lightbox" + i);
});

-=UncleByte=-
17.03.2011, 16:04
Может быть помогло бы использовать insertData немного по-другому: typolink.stdWrap.insertData = 1 или вовсе даже stdWrap ко всему объекту содержащему эти ссылки.