We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 18727
    • 18 Posts
    Как сделать, чтобы код сниппета на странице не превращался в работающий сниппет?
    Ну то есть чтобы вставляемый код отображался типа
    Код сниппета
    или вообще шел в тексте страницы (внутри абзаца), но именно как текст.
      • 23145
      • 36 Posts
      а что, если вместо < в начале цитируемого php-кода ставить &lt, а вместо > &gt ?
        • 18727
        • 18 Posts
        Наверное, не совсем точно изложил.
        Я вставляю код в страницу.
        [!eForm? &formid=`ContactForm` &subject=`[+subject+]` &to=`[(emailsender)]` &ccsender=`1` &tpl=`ContactForm` &report=`ContactFormReport` &invalidClass=`invalidValue` &requiredClass=`requiredValue` &cssStyle=`ContactStyles` &gotoid=`46` &vericode=`1` !]

        или
        <table><tr><td>Код таблицы</td></tr></table>


        Хочу, чтобы он и остался, а не то, во что его автоматически трансформирует Modx (в примерах - в форму обратной связи и таблицу, соответственно).
          • 7368
          • 264 Posts
          Вставляйте в

          <textarea rows="4" cols="50"> или любые значения cols, rows
          [!eForm? &formid=`ContactForm` &subject=`[+subject+]` &to=`[(emailsender)]` &ccsender=`1` &tpl=`ContactForm` &report=`ContactFormReport` &invalidClass=`invalidValue` &requiredClass=`requiredValue` &cssStyle=`ContactStyles` &gotoid=`46` &vericode=`1` !]
          </textarea>
            • 18727
            • 18 Posts
            В случае с textarea получается следующее: сначала код (то, во что все-таки преобразовался eForm - см. ниже), а потом капча,которая тоже внутри eForm, но не попала внутрь textarea.

            <p class="error"></p>
            
            <form method="post" action="captcha_for_modx_01.html" id="EmailForm" name="EmailForm">
            
                <fieldset>
                    <h3> Contact Form</h3>
            
                    <input name="formid" type="hidden"  value="ContactForm" />
            
                    <label for="cfName" >Your name:
                    <input name="name" id="cfName" class="text" type="text" value="" /> </label>
            
                    <label for="cfEmail" >Your Email Address:
                    <input name="email" id="cfEmail" class="text" type="text" value="" /> </label>
            
                    <label for="cfRegarding" >Regarding:</label>
                    <select name="subject" id="cfRegarding" >
                        <option value="General Inquiries" >General Inquiries</option>
                        <option value="Press" >Press or Interview Request</option>
                        <option value="Partnering" >Partnering Opportunities</option>
                    </select>
            
                    <label for="cfMessage" >Message: 
                    <textarea name="message" id="cfMessage" rows="4" cols="20" >
              • 7368
              • 264 Posts
              Хмм.. Тогда можно попробовать [ !eForm? &formid=`ContactForm` &subject=`[+subject+]` &to=`[(emailsender)]` &ccsender=`1` &tpl=`ContactForm` &report=`ContactFormReport` &invalidClass=`invalidValue` &requiredClass=`requiredValue` &cssStyle=`ContactStyles` &gotoid=`46` &vericode=`1` ! ]
              Добавить пробелы между [! !] -> [ ! ! ], тогда код не будет обрабатываться.

              А для чего Вам это вообще нужно? Тогда может еще какие-то решения появятся)
                • 18727
                • 18 Posts
                Нужно это для того, чтобы в статье вставить этот код wink
                Чтобы народ мог потом вставить его к себе и у него все заработало.
                Ну типа того:
                "Берем сниппет такой-то, меняем в нем это и это, код сниппета получается такой:
                код сниппета

                Вставляем его на страницу и получаем супер сниппет!" wink
                Ну то есть существует ли зашитое свойство, которое бы отключало обработку сниппета, а то ModX упорно хочет все преобразовать в работающий фрагмент на странице.

                С лишним пробелом все нормально, но не хочется писать в сноске: уберите пробел. Хотелось бы, чтобы вставил - и не паришься по поводу корректной работы.
                К тому же, внутри emailsender тоже заменяется на почту админа, что не есть хорошо.
                Может, есть тег, который запрещает обработку сниппета или любого другого кода?
                  • 18727
                  • 18 Posts
                  Вот смотрите, страница http://modx.ru/blog/modx-pagination/
                  Там есть вставки кода.
                  Смотрю их html-код:
                  <pre class="php php" style="font-family:monospace;"><ol><li style="font-weight:
                   normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; 
                  padding:0; background:inherit;"> </div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; 
                  background:inherit;"><span style="color: #000088;">$results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$modx</span><span style="color: #339933;">-></span>
                  <span style="color: #004000;">getDocumentChildren</span><span style="color: #009900;">(</span>
                  </div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;"> 
                  <span style="color: #000088;">$<a class="autolink_link" href="http://modx.ru/docs/glossary/#id" title="Посмотреть значение термина в глоссарии">id</a></span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">
                  // <a class="autolink_link" href="http://modx.ru/docs/glossary/#id" title="Посмотреть значение термина в глоссарии">id</a> родительского документа, а именно документа "Блог"</span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;">   <span style="color: #000088;">$active</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> 
                  <span style="color: #666666; font-style: italic;">// Выбираем только опубликованные документы</span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;">   <span style="color: #000088;">$deleted</span> <span style="color: #339933;">=</span> <span style="color:#800080;">0</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// Выбираем только неудаленные документы </span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;">    <span style="">'<a class="autolink_link" href="http://modx.ru/docs/glossary/#id" title="Посмотреть значение термина в глоссарии">id</a>, pagetitle, published, introtext, content, menuindex, createdby, createdon, deleted,  menutitle'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// Выбираем поля из БД </span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;">    <span style="color: #000088;">$where</span> <span style="color: #339933;">=</span> <span style="">''</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// Дополнительные условия не требуются</span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;">    <span style="color: #000088;">$sort</span><span style="color: #339933;">=</span><span style="">'createdon'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// Сортируем документы по полю createdon, т.е. по дате создания</span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;"> <span style="color: #000088;">$dir</span><span style="color: #339933;">=</span><span style="">'DESC'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// Сортируем документы по убыванию</span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;">    <span style="color: #000088;">$limit</span> <span style="color: #339933;">=</span> <span style="">''</span> <span style="color: #666666; font-style: italic;">// Ограничения не устанавливаем (параметр LIMIT в SQL запросе)</span></div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;"><span style="color: #009900;">)</span>;</div></li><li style="font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;"> </div></li></ol></pre>
                  

                  Это как-то автоматически делается? И помогает ли?
                  Вроде, не помогает.
                    • 785
                    • 2,113 Posts
                    Как автоматизировать - не знаю, но для добавления кодов MODx надо после символов [ добавить <!---->. И выглядит нормально и копировать можно. Также все &, < и > заменить на соответственно &amp;, &lt; и &gt;. Вот пример – http://e-kao.ru/usd-euro
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 18727
                      • 18 Posts
                      Спасибо. Решение достойное!
                      Сейчас немного разжую, а то вдруг кому еще понадобится.
                      У меня в итоге получилось:
                      [!eForm? &formid=`ContactForm` &subject=`` &to=`[(emailsender)]` 
                      &ccsender=`1` &tpl=`ContactForm` &report=`ContactFormReport` 
                      &invalidClass=`invalidValue` &requiredClass=`requiredValue` 
                      &cssStyle=`ContactStyles` &gotoid=`46` &vericode=`1` !]

                      То есть все, как нужно, при копировании лишние комментарии не отображаются, что очень хорошо.
                      Обращу внимание, что при вставке значков комментариев ModX их автоматически заменяет как раз на &amp;,&lt; и т.п., то есть именно для этих вставок в режиме кода их нужно обратно заменить на < и т.п.
                      Также пришлось обрамить подобными комментариями emailsender.
                      Теперь все работает отлично.

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