We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28686
    • 7 Posts
    Вроде всё делал как здесь http://modx.ru/blog/ditto/
    В шаблоне Анонсы новостей выводятся, а вот нажимаю на ссылку ПЕРВАЯ НОВОСТЬ(или любая другая) мне пишет
    No documents found.

    Страница.:

    Хотя  index.php?id=48 показывает верно.
    Почему НЕ НАЙДЕН?

    прочитал здесь
    http://modxcms.com/forums/index.php/topic,21182.0.html
    не помогло
      • 18213
      • 15 Posts
      Я делал так (просто для новостного раздела):
      1) Создаем страницу (раздел) Новости, для него выбираем шаблон, в котором прописан вызов Ditto2, что-то типа такого:
      [[Ditto? &paginate=`1` &depth=`3` &display=`5` &showPublishedOnly=`1` &hideFolders=`1` &seeThruUnpub=`0` &tpl=`News_Article` &dateFormat=`%d.%m.%Y` ]]
      <div id="pages-list">[+prev+] [+pages+] [+next+]</div>
      

      2) При создании страницы новости (которая дочерняя по отношению к разделу/странице Новости) выбираем шаблон, в котором стоит вызов того же Ditto2, но для "единичной" новости. Шаблон ( к примеру News) примерно такой:
      [[Ditto? &documents=`[*id*]` &tpl=`News_Article` &dateFormat=`%d.%m.%Y` ]]
      


      Как видно, чанк для текста новости один и тот же (мне так удобнее, для "сплошного потока" новостей), но ничто не мешает сделать два разных чанка, к примеру - один для вывода анонсов, другой для вывода полной новости.

      Единственно, немного неудобно, что каждый раз приходится выбирать шаблон, при создании новости, так как MODx автоматом подставляет для новой новости имя шаблона родителя, в админке.

      Возможно, кто-то подскажет еще другой путь, MODx гибкая система.

      p.s. Ditto вызывается кешированным, потому что я использую еще PHx, такие у него заморочки smiley
        • 2795
        • 30 Posts
        Господа бывалые, помогите, пожалуйста. Суть проблемы в следующем. Вывел в сайдбар анонсы новостей, так же создал отдельную страницу, на которой выводятся все анонсы постранично, вроде бы все работает, однако если перейти на последнюю страницу c анонсами, на которой остается одна новость, происходит следующее. В сайдбаре исчезают все анонсы, и остается только один, который присутствует на последней странице.
        Вот что у меня написано.
        Сниппет для постраничного вывода, на отдельной странице:
        [[Ditto? &startID=`39` &tpl=`dittoNewsFull` &sortBy=`createdon` &summarize=`6` &dateFormat=`%d.%m.%Y` &paginate=`1`]]
        <div class="pagination">Страница: [+prev+] [+pages+] [+next+]</div>

        Сниппет для последних четырех анонсов в сайдбаре:
        [[Ditto? &startID=`39` &tpl=`dittoNews` &sortBy=`createdon` &summarize=`4` &dateFormat=`%d.%m.%Y`]]

        Я в этом деле новичок, может я чего-то, не так написал с сниппете для сайдбара?
        Мне нужно, чтобы в сайдбаре, выводились четыре, последние анонса при любых вариантах с листанием страниц и т.п.
        Заранее очень благодарен, всем кто откликнулся.
        P.S. Новости берутся из папки с index.php?id=39, в этой же папке/странице находится сниппет для вывода всех анонсов, а сниппет для вывода анонсов в сайдбар, находится в шаблоне сайта.

          • 31022
          • 328 Posts
          Точно сказать не возьмусь, но я бы приписал к вызовам еще и параметр id. Видимо, разный для сайдбара и основного вывода (!?) http://ditto.modxcms.com/files/snippet-ditto-php.html#id

          И к пагинации его прикрутил. Но это лишь предположения.
            • 2795
            • 30 Posts
            я бы приписал к вызовам еще и параметр id
            Не могли бы Вы, на примере вывода, показать, как и куда его приписать?
              • 31022
              • 328 Posts
              Елки, как же так-то?

              Берем ваши вызовы и дополняем их:

              [[Ditto? &startID=`39` &tpl=`dittoNewsFull` &sortBy=`createdon` &summarize=`6` &dateFormat=`%d.%m.%Y` &paginate=`1` &id=`pagedOutput`]]
              <div class="pagination">Страница: [+pagedOutput_prev+] [+pagedOutput_pages+] [+pagedOutput_next+]</div>


              [[Ditto? &startID=`39` &tpl=`dittoNews` &sortBy=`createdon` &summarize=`4` &dateFormat=`%d.%m.%Y` &id=`sidebarOutput`]]


              Пробуйте, поверяйте, читайте доки-то. Не вздумайте бездумно скопировать то, что я тут написал, во избежание бессмысленных вопросов. Лучше посмотрите, что да как и сами дополните. Кстати, по поводу идентификации вывода пагинации: я это написал по памяти (что там нужно id с подчеркиванием написать). Могу быть неточен. Ищите в форуме.

              И вообще, как я выше говорил, эта идея с id может и не сработать.
                • 2795
                • 30 Posts
                Спасибо большое, разобрался, дописал в вызов сайдбара &id=`[+id+]` заработало.
                [[Ditto? &startID=`39` &id=`[+id+]` &tpl=`dittoNews` &sortBy=`createdon` &summarize=`4` &dateFormat=`%d.%m.%Y`]]
                  • 12736
                  • 259 Posts
                  Quote from: Barmental at Oct 21, 2008, 05:09 PM

                  Спасибо большое, разобрался, дописал в вызов сайдбара &id=`[+id+]` заработало.
                  [[Ditto? &startID=`39` &id=`[+id+]` &tpl=`dittoNews` &sortBy=`createdon` &summarize=`4` &dateFormat=`%d.%m.%Y`]]


                  Нее Barmental чего то ты не то сделал. То есть не совсем то. У тебя конечно заработало, но ты логику не понял, мне кажется. Смотри у тебя два вызова Ditto на одной странице - правильно? и к одному вызову привязана пагинация. Ну короче, чтоб пагинация знала к какому вызову Ditto она относится нужно назначить каждому вызову свой уникальный id:

                  [[Ditto? бла бла бла &id=’firstcall’]] //сюда надо привязать пагинацию

                  [[Ditto? бла бла бла &id=’secondcall’]] //сюда не надо

                  Но и пагинация должна знать к какому вызову Ditto она относится, для этого плейсхолдеры в ней вызываются так:

                  [+firstcall_pages+]
                  То есть я хочу сказать, что тут имеется ввиду не id документа - а id вызова Ditto.
                    • 2795
                    • 30 Posts
                    Большое, человеческое, спасибо всем кто откликнулся, очень помогли Ваши советы, пошел брать другие барьеры.
                      • 2795
                      • 30 Posts
                      Все таки, еще один вопросик нарисовался, не могу понять почему в навигации не выводится ссылка тапа "prev", "next" появляется, а "prev", отсутствует?
                      Вот мой вызов:
                      <div class="pagination">Страница: [+firstcall_prev+] [+firstcall_pages+] [+firstcall_next+]</div>