Вызов [[~[[+id]]]] в чанке

Например выводим список новостей:
[[pdoResources? &tpl=`news` &limit=`20`]]

Внутри чанка news видим:
<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
Получается что делается 1 запрос к базе сниппетом и еще каждый раз запрос для вывод url и в итоге имеем 21 запрос к базе?

Тогда как просто можно сделать так:
<a href="[[+uri]]">[[+pagetitle]]</a>
Или тут есть какая то особенность?
Александро
19 мая 2016, 13:37
modx.pro
1
2 396
+1

Комментарии: 8

Василий Наумкин
19 мая 2016, 17:12
+3
Нету особенностей. Использовать uri гораздо лучше и быстрее.
    Алексей
    19 мая 2016, 19:18
    -2
    Особенность ровно одна — при вызове [[+uri]] на главной страничке с ID=[[+site_start]] uri будет не верным
      Григорий Коленько
      20 мая 2016, 10:45
      0
      Это почему? Поясните
        Алексей
        21 мая 2016, 08:56
        0
        s5427.h5.modhost.pro/
        на страничке находится:
        uri - [[++url_scheme]][[++http_host]]/[[*uri]] 
        [ [ ~ [ [ ++site_start ] ] ] ] -  [[~[[++site_start]]]]
        доступ:
        s5427.h5.modhost.pro/manager/
        Логин s5427
        Пароль imDXyqss4B6A
        вывод:
        uri - http://s5427.h5.modhost.pro/home.html 
        [ [ ~ [ [ ++site_start ] ] ] ] - http://s5427.h5.modhost.pro/
        С использованием URI у нас адрес получается с ненужной припиской
        /home.html
        http://s5427.h5.modhost.pro/home.html
        хотя должен быть просто адрес хоста и схема http, вот так:
        http://s5427.h5.modhost.pro/
          Василий Наумкин
          21 мая 2016, 09:28
          0
          И при переходе по s5427.h5.modhost.pro/home.html ты редиректишься на s5427.h5.modhost.pro/.

          Так что, нет тут никакой проблемы, не выдумывай.
            Алексей
            22 мая 2016, 21:21
            -1
            ну тут суть не в том что это проблема а в том что это особенность
            Вообще я и при переходе по ссылке s5427.h5.modhost.pro/index.php?id=1 буду редиректиться на s5427.h5.modhost.pro/, однако почему-то никто не использует ссылки вида
            <a href="/index.php?id=[[+id]]">[[+pagetitle]]</a>
            В чем же дело?
      Сергей
      20 мая 2016, 11:55
      0
      Первый способ можно использовать, когда получить ссылку на страницу можно только зная ID. Например — при использовании TV — поля с динамической генерацией ID ресурсов через биндинг @EVAL return $modx->runSnippet()
        Александро
        20 мая 2016, 12:20
        0
        Я указал конкретный пример, самый распространенный где обычно люди и допускают подобную ошибку, вопрос был в этом. Понятно что [[~[[+tv.customID]]]] имеет место.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8