Роман

Роман

С нами с 06 октября 2013; Место в рейтинге пользователей: #290
Баха Волков
22 мая 2020, 19:10
1
0
Когда мы открываем последнюю запись, то он начинает показывать ПЕРВУЮ как следующую. Это печалит но немного, как это решить я не знаю.
{'pdoNeighbors' | snippet : [
    'loop' => 0
]}
Евгений Webinmd
05 марта 2020, 14:39
1
0
{set $resource = $_modx->getResources(
    ['published' => 1, 'deleted' => 0],
    ['sortby' => 'id', 'sortdir' => 'ASC', 'limit' => 1, 'parent' => $_modx->resource.id]
)}

{if $resource}
  {$_modx->sendRedirect( $_modx->makeUrl($resource) )}
{/if}
Все примеры есть в документации.
Играйся с 'sortdir' => 'ASC' мож надо заменить на DESC
Тимур
05 февраля 2020, 14:24
1
0
if ($modx->event->name == 'OnDocFormSave') {
    if (empty($resource->get('alias'))) {
        if (!empty($resource->get('menutitle'))) {
            $resource->set('alias',$resource->get('menutitle'));
        }
        else {
            $resource->set('alias',$resource->get('pagetitle'));
        }
        $resource->save();
    }
}
Тимур
05 февраля 2020, 13:34
1
0
Потому что при сохранении документа плагин получает объект сохраненного документа. Поэтому ваш код будет выглядеть следующим образом:
if ($modx->event->name == 'OnDocFormSave') {
    if (!empty($resource->get('menutitle'))) {
        $resource->set('alias',$resource->get('menutitle'));
    }
    else {
        $resource->set('alias',$resource->get('pagetitle'));
    }
    $resource->save();
}
Артем
31 января 2020, 15:04
2
+1
{foreach $rows as $row}
    {$row@index + 1}
{/foreach}
или

{foreach $rows as $row index=$index}
    {$index + 1}
{/foreach}
Андрей
31 января 2020, 14:18
1
0
Можно так:
{set $count = 0}
{foreach $rows as $idx => $row}
    {include ++$count}
    <p>{$row.fieldname} - {$count}</p>
{/foreach}
Или так:
{foreach $rows as $idx => $row}
    <p>{$row.fieldname} - {$idx + 1}</p>
{/foreach}
Степан Прищепенко
27 января 2020, 09:19
1
0
3-й не кешируется преобразуется в чистый php — думаю быстрый, 2-й не помню вроде для сниппетов работало отключение кеша через "!", хотя не факт. 1-й как только на сформированной странице присутствует "[[" это увеличивает время парсинга в несколько раз и не важно плейсхолдер это, сниппет или кусок js кода. Так что я за 3-й.
Наумов Алексей
27 января 2020, 09:07
1
+1
В данном примере интереснее 3-й вариант, т.к. нет лишних чанков, вызовов сниппетов, он читабелен сразу. Думаю и работает он быстрее.
Но если бы в чанке tpl.addressl был слоооооожный, медленный код, то интереснее было бы вызывать кешированный сниппет.