We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 19680
    • 19 Posts
    Здравствуйте.
    Подскажите пожалуста как правильно организовать архив?
    Задача заключается в том, что я перевожу на MODx вот этот сайт http://tavrnews.ru/ загляните в раздел Газета->Архив, там архив выводится по номерам выпусков газеты. И они полностью копируют вид главной страницы (Свежий номер), то есть главная страница, левая колонка (Сегодня в номере) и правая (Новости короткой строкой) это и есть свежий номер, то есть как только выходит следующий номер, то предыдущий отправляется в архив под номером выпуска, и при обращении к нему на странице выдаётся точно то и так же как и было, когда номер был на главной странице.
    Надеюсь понятно пояснил. Заранее спасибо за помощь!
      • 33271
      • 84 Posts
      Ditto
        • 19680
        • 19 Posts
        Quote from: Yurgen at Oct 08, 2010, 01:02 AM

        Ditto
        Да я знаю что Ditto/ Но как это удобнее организовать и в плане шаблонов (у меня шаблоны главня стр., категория, статья, служебная) и в плане дерева ресурсов. Поймите я и в ручную могу перекидывать предыдущие номера в архив с номером выпуска и называть его как угодно. но как организовать показ в левой и правой колонке именно так при публикации номера на главной.
        В общем я судя по всему я не могу толково объяснить...
          • 33271
          • 84 Posts
          Quote from: mishanay at Oct 08, 2010, 01:11 AM

          Да я знаю что Ditto/ Но как это удобнее организовать и в плане шаблонов (у меня шаблоны главня стр., категория, статья, служебная) и в плане дерева ресурсов. Поймите я и в ручную могу перекидывать предыдущие номера в архив с номером выпуска и называть его как угодно. но как организовать показ в левой и правой колонке именно так при публикации номера на главной.
          В общем я судя по всему я не могу толково объяснить...
          Я, наверное, не понимаю в чем проблема... Используйте для архива шаблон главной страницы.
            • 785
            • 2,113 Posts
            Тут надо самостоятельно придумывать способы реализации, а вариантов может быть достаточно много. Например, можно вводить новые номера сразу в то место, где хранится архив, но не опубликовывать их, а на главной странице выводить информацию из последнего неопубликованного номера. При добавлении нового номера следует опубликовывать предыдущий. Для реализации всего этого надо написать свои программы, но не слишком сложные. Можно также написать программу, которая «помещает в архив» информацию – делает копию главной страницы в нужной папке. Есть и другие варианты, но как все это сделать стандартными средствами – с ходу лично я придумать не могу.
            Quote from: Yurgen at Oct 08, 2010, 01:40 AM

            Я, наверное, не понимаю в чем проблема... Используйте для архива шаблон главной страницы.
            Как я понимаю, проблема в том, что непонятно, как автоматизировать ведение архива. Ditto в этом никак не поможет – он только выводит списки имеющихся документов.
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 1788
              • 1,103 Posts
              Quote from: AKots at Oct 08, 2010, 03:23 AM

              Как я понимаю, проблема в том, что непонятно, как автоматизировать ведение архива. Ditto в этом никак не поможет – он только выводит списки имеющихся документов.
              Да. Дитто только выводит.
              Примерно так надо делать. Создаются папки:
              Архив
              - номер
              -- новости короткой строкой (news)
              -- сегодня в номере (today)
              -- фото недели (photo)

              Итого 3 вызова дитто на шаблоне (для архива он отделный 1 на все). В каждом вызове свои параметры фильтра.
              Хотя и Архив может быть просто страницей с вайфандером, а номера держать в корне.
              Для главной вывод последнего номера например, считаются по максимальному id в нужной ветке дерева документов.
                • 19680
                • 19 Posts
                Как я понимаю, проблема в том, что непонятно, как автоматизировать ведение архива. Ditto в этом никак не поможет – он только выводит списки имеющихся документов.

                Именно так!

                Можно также написать программу, которая «помещает в архив» информацию – делает копию главной страницы в нужной папке.

                Было бы не плохо потому как администрировать буду не я а челок далекий от MODx )))

                Quote from: antey at Oct 08, 2010, 04:23 AM

                Да. Дитто только выводит.
                Примерно так надо делать. Создаются папки:
                Архив
                - номер
                -- новости короткой строкой (news)
                -- сегодня в номере (today)
                -- фото недели (photo)

                Итого 3 вызова дитто на шаблоне. В каждом вызове свои параметры фильтра.
                Хотя и Архив может быть просто страницей с вайфандером, а номера держать в корне.
                Для главной вывод последнего номера например, считаются по максимальному id в нужной ветке дерева документов.

                Да думаю можно покопать в это направлении и немного автоматизировать процесс.

                Скажите а можно добавлять условия к вызову Ditto например: если в родителе архив есть родитель с ресурсами скажем выпуск 10 то выводить его а если там появляется родитель с выпуском 11 то выводить его? Как то так.
                  • 9085
                  • 630 Posts
                  Возможно, подойдет немного другая формулировка задачи:
                  - создать и сохранить документ, который выглядит "как главная страница" в текущий момент...

                  При этом существенно, что со временем архивы не должны изменяться (т.е. появление новых статей-новостей не влияет на архивный документ) - значит, можно не вызывать каждый раз, например, ditto с выборкой по новостям "от и до", а сохранить результат текущего вызова ditto целиком (как вариант - сделать несколько TV.. под каждый вызов ditto)

                  В самом простом варианте - сохраняем страницу целиком. Просто формируем главную страницу по всем правилам (можно просто "скачать", например,
                  $html = file_get_contents('http://domain.tld');

                  ) и весь HTML-код целиком складываем в новый документ (с "пустым" шаблоном) или в статичный файл..

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

                  Как вариант - сохранять в TV (специально для шаблона "архив") исключительно требуемые для подстановки данные из результата вызова дитто в удобном для разбора формате (например, сериализованный массив.. или что-то вроде [::pagetitle::content::pagetitle::content::]).

                  Сохранение делать при нажатии какой-нибудь кнопочки типа "Создать архив для главной", которую можно оформить как сниппетом (для зарегистрированных пользователей), так и выделить в отдельный модуль для менеджера. (хм. ещё,думаю при помощи managermanager(?), можно при создании нового документа в каталоге "архив" автоматически заполнять поля документа.. по результатам вызова нужных сниппетов )

                  В случае со сниппетом создание документа и задание TV можно сделать, используя API (rtfm.modx.com ругается 502 ошибкой.. точно не скажу)



                    Правильно заданный вопрос повышает вероятность получения нужного ответа.
                    Что-то не работает? Загляните в лог ошибок!
                    Есть проблема? "Локализуйте" её!
                    Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
                    • 1788
                    • 1,103 Posts
                    Quote from: mishanay at Oct 08, 2010, 04:37 AM

                    Да думаю можно покопать в это направлении и немного автоматизировать процесс.

                    Скажите а можно добавлять условия к вызову Ditto например: если в родителе архив есть родитель с ресурсами скажем выпуск 10 то выводить его а если там появляется родитель с выпуском 11 то выводить его? Как то так.
                    Небольшой сниппет написать для поиска последнего номера. На выходе нужен id этого ресурса.
                      • 1788
                      • 1,103 Posts
                      Quote from: esche at Oct 08, 2010, 05:01 AM



                      В самом простом варианте - сохраняем страницу целиком. Просто формируем главную страницу по всем правилам (можно просто "скачать", например,
                      $html = file_get_contents('http://domain.tld');

                      ) и весь HTML-код целиком складываем в новый документ (с "пустым" шаблоном) или в статичный файл..

                      В этом случае могут возникнуть трудности при изменении шаблона (как всего сайта, так и, например, одной новости..)
                      Можно сохранять "блоками" - "левый", центральный, правый.. Или "фото", "новости" и т.д.
                      В визуальных компонентах TV есть iframe. Его и подставить, чтобы меню не копировать все время.