Помощник
|
Php код в Dle |
Deadraven
|
Сообщение
#1
|
||
|
|
||
|
|||
Ветер |
24.10.2009, 18:08;
Ответить: Ветер
Сообщение
#2
|
|
Хочу заметить, что это крайне небезопасно, поэтому использовать подобные изменения можно только на свой страх и риск.
Для добавления этой возможности для полной новости, в файлe engine/modules/show.full.php заменить $tpl->set( '{short-story}', stripslashes( $row['short_story'] ) ); $tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['full_story'] . "</div>" ) ); на ob_start(); print eval('?>'. $row['short_story']); $eval_story = ob_get_contents(); ob_end_clean(); $tpl->set( '{short-story}', stripslashes( $eval_story ) ); ob_start(); print eval('?>'. $row['full_story']); $eval_story = ob_get_contents(); ob_end_clean(); $tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $eval_story . "</div>" ) ); Для добавления этой возможности для анонса новости, в файле engine/modules/show.short.php $tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['short_story'] . "</div>" ) ); на $tpl->set( '{title}', stripslashes( $row['title'] ) ); ob_start(); print eval('?>'. $row['short_story']); $eval_story = ob_get_contents(); ob_end_clean(); $tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $eval_story . "</div>" ) ); Для того, чтобы вставить php код в новость, нужно изменить предварительно созданную новость непосредственно в таблице (имя таблицы - post). Для этого можно воспользоваться phpmyadmin, открыть таблицу префикс_post и отредактировать запись с новостью. В полях short_story и full_story содержатся краткая и полня новость соответственно. Вставляемый php код должен быть оформлен так: <?php сам_php_код ?> Изменения, которые нужны, чтобы php код можно было вставлять сразу при создании новости на сайте, приводить не буду, так как они крайне нежедтельны с точки зрения безопастности. Как в прочем, и приведенные изменения. Лучше всего обойтись без php кода в новостях. Изменения в коде описаны на основе DLE 8.2 |
|
|
Ska-TGD |
24.10.2009, 20:19;
Ответить: Ska-TGD
Сообщение
#3
|
|
Ветер, Зачем так сложно?
Это реализовывается заменой одной строки. Откройте файл index.php, найдите строчку: echo $tpl->result['main']; замените ее на: eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
-------------------- |
|
|
Tollun |
24.10.2009, 20:23;
Ответить: Tollun
Сообщение
#4
|
|
2Ska-TGD Это позволит использовать php в файлах шаблона, а он имел ввиду именно в новости, что и выдал Ветер, но затея тс действительно не лучшая.
Сообщение отредактировал Tollun - 24.10.2009, 20:23 |
|
|
Ветер |
24.10.2009, 20:28;
Ответить: Ветер
Сообщение
#5
|
|
|
Ветер, Зачем так сложно? Из соображений безопасности. Если доступ к редактированию новостей можно запретить на уровне прав, то, в случае, когда выполнения php кода разрешено для любой части шаблона, малейшая дыра в каком-нибудь доп. модуле - и сайт взломан. Но Ваше решение однозначно более простое =)
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
DLE xProtect | 2 | xoopw | 5986 | 15.1.2024, 21:06 автор: Diana_Wesley |
|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3418 | 19.12.2023, 18:55 автор: CULA |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1243 | 24.11.2023, 14:46 автор: alexey |
|
Обновить сайт на CMS DLE | 1 | Sawich | 1667 | 2.9.2023, 10:10 автор: WoWeb |
|
Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP) | 56 | qpPeW | 44929 | 19.7.2023, 10:03 автор: qpPeW |
Текстовая версия | Сейчас: 24.4.2024, 10:48 |