We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 38483
    • 29 Posts
    Имеем много шаблонов, но отличаются друг от друга они очень небольшой частью кода и когда меняется, например верстка сайта, приходится менять код во всех шаблонах, что не очень удобно. Как правильно вынести общую часть в отдельный документ и подключать к шаблону?
      • 37237
      • 44 Posts
      Зачем тебе плодить большое количество шаблонов если они отличаются небольшой частью? Например, можно сделать один шаблон а ту небольшую часть которая отличает вынести в отдельные чанки и подключать их через сниппет в зависимости от id документа.
        • 38483
        • 29 Posts
        Можно поподробнее, как пример?
          • 37237
          • 44 Posts
          Вобще варианты решения этой задачи различны. Вот пример простейшего вывода:

          Шаблон:
          <html>
          <head><title>[[++site_name]]</title><head>
          <body>
            [[$menu]]
            [[!choce_chunk]]
             [[*content]]
          </body>
          </html>

          Здесь в шаблоне вызывается чанк $menu, некешируемый сниппет [[!choce_chunk]], в котором будет определятся вывод нужных чанков в зависимости от id активного документа.
          сниппет choce_chunk:
          <?php
          $id=$modx->resource->get('id');//id текущего док-та
          switch($id){
          case 1:{ $output = $modx->getChunk('doc1'); break;}//для документа с id 1выводим чанк doc1
          case 8: {$output = $modx->getChunk('doc2'); break;}//для документа с id 2 выводим чанк doc2
          default: $output='';
          }
          return $output;

          чанки doc1 doc2 могут содержать любые необходимые объекты modx(html-теги,чанк, сниппет, TV...)
          doc1:
          <div>
          [[*pagetitle]]
          </div>

          doc2:
          <table><tr><td>
          таблица на странице 2
          </td></tr></table>
          

          например [ed. note: spector last edited this post 14 years, 9 months ago.]
            • 38483
            • 29 Posts
            Спасибо, очень полезно!

            А каким методом лучше вставлять стили CSS в шаблон? Можно сохранить, конечно, отдельным файлом, но, смотря на принцип работы modx, вижу, что это не очень правильно в данной CMS.
              • 37237
              • 44 Posts
              Почему не правильно, правильною Но иногда необходимо подгружать CSS и JS динамически, используя API-функции MODx. Подробнее можно прочитать тут http://rtfm.modx.com/display/revolution20/Adding+CSS+and+JS+to+Your+Pages+Through+Snippets
                • 38483
                • 29 Posts
                Искал такую доку и не нашел. Спасибо за помощь.