We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26698
    • 148 Posts
    Есть три шаблона. Один отвечает за главную страницу сайта, второй — за основной контент, третий — за дополнительные страницы.

    Во всех трех шаблонах присутствует рутинная информация, которая должна иметься на всех страницах сайта: это телефон и адрес. Они находятся в чанках {{phone}} и {{address}} соответственно.

    Вопрос: как сделать, чтобы человек, который занимается наполнением сайта и не обладающий знаниями html и специальных выпражений ModX мог в случае чего самостоятельно изменить номер телефона и адрес, не залезая в чанки?

    Я хотел прикрутить TV, но получается, что их придется делать три штуки (по числу шаблонов), а это не катит. Нужно, чтобы один раз ортедактировал, и везде всё поменялось.

    Подскажите, как это сделать. [ed. note: serdeles last edited this post 14 years, 2 months ago.]
      • 26698
      • 148 Posts
      Неужели ничего нельзя сделать?
        • 16278
        • 928 Posts
        Greg Smart описивает свой подход к этому вопросу здесь: http://www.gregorysmart.com/2010/01/08/create-a-user-config-page-in-modx/.

        По сути дело, он:
        - создает специальный шаблон для страницы настроек
        - привязывает TV для нужных полей к шаблону
        - устраняет лишних полей из страницы настроек с помощью ManagerManager
        - использует сниппет GetField для вывода TV там, где нужно (в шаблоне или на странице)

        Так использователь редактирует адрес, телефон и.т.д. на одной только странице. Прекрасно, да?

        :) KP
          • 26698
          • 148 Posts
          Уфф. Сколько лишних телодвижений ради казалось бы элементарнейшей функции...
          Спасибо, буду курить данный туториал.

          На отечественном форуме, посвященном ModX, есть еще один вариант: http://community.modx-cms.ru/blog/questions/7752.html но у меня он не получился.
            • 25599
            • 59 Posts
            Я тоже использую GetField, но без дополнительного шаблона.

            Создаёте TV "phone" и назначаете его главной странице.
            Создаёте чанк {{phone}} и в него прописываете:
            [[GetField? &docid=`1` &field=`phone`]]

            где "1" — ID вашей главной страницы.
            То есть сниппет берёт документ с ID = 1 и выводит значение его поля "phone".

            Теперь в любом шаблоне, где бы Вы ни поставили чанк {{phone}}, он будет выводить то, что указано на главной в поле "phone".

            Так можно вообще любые значения выводить по всему сайту )))