Как вставить скрипт в новость на движке DLE
galina2601 4-06-2022, 18:23 1 419 Уроки по CMS / Уроки по DLEDataLife Engine отличный движок для сайтов. Хорошо защищенный от взломов. Но это и минус. Любой скрипт, вставленный в новость, система тут же автоматически удаляет.
Хотя достаточно часто возникает потребность размещения рекламных блоков, читалок, калькуляторов и так далее непосредственно на странице со статьёй.
Я столкнулась с этим при сотрудничестве с сайтом Литрес.
На своем сайте я размещаю рецензию на какие-то книги.
А Литрес предоставляет виджет, показывающий окошко читалки, в которой посетитель может прочесть фрагмент книги и при желании перейти на сайт Литрес, где и купить полный вариант книги.
Скрипт - это небольшой кусочек кода, заключенный в теги <script type="text/jаvascript"></script>.
Конечно, защиту можно отключить, но я не рекомендую такие экстремальные действия.
Можем обойти запрет с использованием дополнительных полей для новостей.
Создаем поле с названием script (имя может быть любым). Тип поля - несколько строк.
Переходим в файл полной новости fullstory.tpl
И в нужном месте (после или до вывода новости) записываем код виджета.
Только вместо скрипта ставим название поля:
<div class="litres_fragment_body" style="width: 100%; height: auto;"></div>
<script type="text/jаvascript">[xfvalue_script]</script>
При создании новой записи появляется дополнительное поле, куда вносим весь фрагмент кода, который расположен между тегами <script type="text/jаvascript"></script>
И вот он фокус!!!
Так как крамольного слова SCRIPT в самой новости нет, он и не удаляется.
На сайте появляется читалка от Литрес.
Точно так же можно вставить любой скрипт.