Fenom вывод имени parent
Задача на первый взгляд простая. Есть изображение, которое принадлежит к определенному документу. Документы сгруппированы по городам-документам. Нужно вывести имя parent документа внутри alt-а изображения.
Как это сделать?
<img src="{$file['url'] | phpthumbon: 'fltr[]=wmi|assets/wm/wm.png|C|40|100|100|0'}" alt="{$_modx->resource.parent | resource : 'pagetitle'}" title="{$file['name']}">{$_modx->resource.parent | resource: 'pagetitle'} выводит Home, на несколько уровней выше.Как это сделать?
Комментарии: 15
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
и уже оттуда плясать. =)
$_modx->resource.id — выводит 1
$parent — ничего не выводит
Ты на главной выводишь блок с ресурсами. Например:
В res_chunk можно указывать:
И должно верно вернуть паджтитл ресурса родителя.
Но наверно ты в res_chunk еще вызываешь ms2Gallery c каким-то чанком. Например gallery_chunk и вот в нем уже $id вернет id файла (или 0 наверно). Чтоб получить id ресурса из res_chunk надо подумать как это сделать.
Но сперва скажи угадал? или у тебя что-то другое?
Чанк главной карточки
Чанк ms2Gallery.mainpage.tpl:
1) не очень хороший. В $file должно быть $file['resource_id'] и в alt="… ТО САМОЕ..." можно сделать так
Но модификатор | resource ресурсо-затратный и если будет 100 картинок, то страница будет тупить.
2) В ms2Gallery сразу добавить запрос паджтитл родителей
{'!ms2Gallery' | snippet: [
'resources'=>$id,
'innerJoin'=>['Parent'=>['class'=>'modResource','on'=>'Parent.id = modResource.id'],
'select'=>['Parent'=>'Parent.pagetitle as parent_title'],
'limit'=>1,
'tpl'=>'ms2Gallery.mainpage.tpl'
]}
Примерно так не проверял
Второй вариант не заработал
Вообще у тебя в ms2Gallery 'limit'=>1 и 2 вариант будет не сильно быстрее. 2+1 простых запроса в базу против 1 более сложного на каждый вызов ms2Gallery. То есть на 1 картинку.
Если картинок много то лучше в основном pdoResources сразу и картинки и Parent подцепить join-ми. Тогда быстрее будет. 1 запрос на все против 3 запросов на каждый дочерний ресурс.
Примерно так:
res_chunk:
Я бы так делал, если картинок много. И phpthumbon бы не стал использовать, а задал бы нужное превью в галерее. Интересно даже какая скорость будет во всех 3 вариантах.
пс. pdoResources наверно лучше кешировать.
А по существу использовать pdoField.