Перейти к публикации

dle97_path_2 - include file в статических страницах


Рекомендованные сообщения

после патча безопасности перестала работать функция подключения модулей в статических страницах... раньше можно было выбрать "Исходный текст HTML без фильтрации и изменений" и подключаемый модуль через "include file" работал, теперь пишет фильтеред... будет фикс этого? или добавление возможности подключения модулей в статические страницы?

как временное решение помогает в файле: /engine/classes/templates.class.php

за комментировать строку:

if( substr_count ($this->template, "{include file=") < substr_count ($this->copy_template, "{include file=")) return "Filtered";[/CODE]

[/size][/font][/color]

Изменено пользователем MSW
Ссылка на сообщение
Поделиться на других сайтах

MSW,

Нельзя этого делать. подключение можно использовать только в шаблонах. В данном случае подключение стороннего модуля необходимо переместить в шаблон

Ссылка на сообщение
Поделиться на других сайтах

После патча у меня ошибки на статических страницах. Пишет: Filtered

Используется подключение вот так : {include file='engine/modules/bonus/voter.php'}

Как исправить ?

Ссылка на сообщение
Поделиться на других сайтах

как временное решение помогает в файле: /engine/classes/templates.class.php

за комментировать строку:

if( substr_count ($this->template, "{include file=") < substr_count ($this->copy_template, "{include file=")) return "Filtered";[/CODE]

[/size][/font][/color]

Не вариант, у меня в таком случае при разлогинивании выдает текстом код инклуда

Ссылка на сообщение
Поделиться на других сайтах

После патча у меня ошибки на статических страницах. Пишет: Filtered

Используется подключение вот так : {include file='engine/modules/bonus/voter.php'}

Как исправить ?

Читать не умеем или как?

Нельзя этого делать. подключение можно использовать только в шаблонах. В данном случае подключение стороннего модуля необходимо переместить в шаблон

И в догонку:

Памятка по размещению об обнаруженном баге Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.
Ссылка на сообщение
Поделиться на других сайтах

MSW,

Нельзя этого делать. подключение можно использовать только в шаблонах. В данном случае подключение стороннего модуля необходимо переместить в шаблон

тогда как идентифицировать какую статическую страницу смотрит пользователь?

$dle_module - содержит информацию о разделе сайта, который просматривает пользователь, либо информацию переменной do из URL браузера.

выводит static

$category_id - содержит ID категории которую просматривает посетитель.

ничего не выводит...

по сему резонный вопрос - как получить айди или имя статической страницы что бы знать что модуль должен делать и выводить, так как на каждой странице статической модуль должен выводить разные данные.

в шаблоне статик страницы

[aviable=static_name]{include file="engine/modules/mymod.php"}[/aviable]

тоже не срабатывает

Изменено пользователем MSW
Ссылка на сообщение
Поделиться на других сайтах

тогда как идентифицировать какую статическую страницу смотрит пользователь?

http://dle-news.ru/e...?startnews.html

[static=имя страницы] текст [/static]

будет выводить текст заключенный в теги, если посетитель просматривает статическую страницу с указанным именем.

[not-static=имя страницы] текст [/not-static]

будет выводить текст заключенный в теги, если посетитель не просматривает статическую страницу с указанным именем.

Ссылка на сообщение
Поделиться на других сайтах

После внесения патча http://dle-news.ru/bags/v97/ перестает работать стандартный тег HIDE.

Как устранить недочет? Спасибо. Версия движка старая 7.5. Но как написано, патч подходит для всех версий, а проблема с тегом возникает.

Спасибо, за ответ.

Изменено пользователем Swenson78
Ссылка на сообщение
Поделиться на других сайтах

перестает работать стандартный тег HIDE.

Это новостной тег, и обрабатывается только в новостях, а не шаблонный, его парсер шаблонов не обрабатывает ни в какой версии. Видимо вы использовали какую либо модификацию в скрипте для обработки этих тегов в шаблонах.

Кстати версия 7.5 не подвержена данной проблеме, потому как она слишком старая и возможности подключения сторонних модулей в ней попросту еще не было. Поэтому ставить данный патч на столь старую версию нет необходимости.

Ссылка на сообщение
Поделиться на других сайтах

перестает работать стандартный тег HIDE.

Это новостной тег, и обрабатывается только в новостях, а не шаблонный, его парсер шаблонов не обрабатывает ни в какой версии. Видимо вы использовали какую либо модификацию в скрипте для обработки этих тегов в шаблонах.

Кстати версия 7.5 не подвержена данной проблеме, потому как она слишком старая и возможности подключения сторонних модулей в ней попросту еще не было. Поэтому ставить данный патч на столь старую версию нет необходимости.

Ну коль на 7.5 не нужно ставить мод, тогда может следует написать в теме патча, версии от 8.х и выше? За ответ спасибо. Скрипты никакие не использую, но реально, если заменить файлик, то блок хайд не работает, а просто цитата работает, - часть тегов отпадает.

Изменено пользователем Swenson78
Ссылка на сообщение
Поделиться на других сайтах

celsoft,

Патч защиты полезный тут не поспоришь, но как быть теперь, у меня 70 стат. страниц на сайте в каждой странице есть инклюды PHP скриптов, сейчас у меня два варианта: создать один .tpl туда заталкать все иклюды и выводить их [static=имя страницы] текст [/static], но так как для каждой страницы там по 3 инклюда + тексты и HTML оформление уникальное для каждого инклюда, выходит порядка 30 строчек кода на 1 стат страницу, если их все затолкать в один файл 30х70=2100 строк кода, а это получается такой бардак, что если мне нужно будет там, что то изменить это будет жутки геморой.

Второй вариант создать 70 отдельных tpl для каждой стат страницы, решается проблема с изменениями, но появляется другая жутки бардак в корневой папке шаблона, так как нет возможности сложить все tpl в одну папку и подключать на стат страницах таким путём papka/new.tpl.

Ещё тут есть вопрос по нагрузке на сервер, какой из вариантов будет давать меньшую нагрузку на сервер ибо она тоже ограничена.

Ссылка на сообщение
Поделиться на других сайтах

celsoft,

Второй вариант создать 70 отдельных tpl для каждой стат страницы, решается проблема с изменениями, но появляется другая жутки бардак в корневой папке шаблона, так как нет возможности сложить все tpl в одну папку и подключать на стат страницах таким путём papka/new.tpl.

http://dle-news.ru/release/1534-datalife-engine-v97-final-release.html

3. Добавлена возможность подключать файлы шаблонов .tpl, находящихся в подпапках вашего шаблона. Например, при использовании тега {include file="test/my_block.tpl"} будет подключен файл шаблона находящийся в папке: /templates/ваш шаблон/test/my_block.tpl. Тем самым для шаблонов, содержащих сложную структуру и большое подключение файлов шаблонов, можно будет организовать более удобную и читабельную структуру.
Ссылка на сообщение
Поделиться на других сайтах

Captain,

Да можно и так, но только на версии 9.7, а на 9.5 такой возможности нету, а обновить двиг это большие трудности, связано это с тем, что там установлено довольно много модулей и хаков.

Как быть с версией 9.5 ? Какой мне вариант выбрать?

1) Сделать 70 шаблонов для стат страниц? И указать каждой какой грузить?

2) Или сделать 1 шаблон и подключать нужную часть кода через [static=имя страницы] текст [/static]

3) Тут у меня появилась ещё третья идея, сделать 70 шаблонов и на одной странице стат шаблона просто подключать их инклюдом такой конструкцией

[static=№1] инклюд papka/№1.tpl [/static]

[static=№2] инклюд papka/№2.tpl [/static]

Какой вариант будет давать меньше нагрузку на сайт, ибо посещаемость больше 20к сутки?

Изменено пользователем Ctfelix
Ссылка на сообщение
Поделиться на других сайтах

2) Или сделать 1 шаблон и подключать нужную часть кода через [static=имя страницы] текст [/static]

я бы выбрал этот вариант. Со стороны PHP это обычнная if операция, которая выполняется очень быстро и создает проблемы серверу.

Ссылка на сообщение
Поделиться на других сайтах

я бы выбрал этот вариант. Со стороны PHP это обычнная if операция, которая выполняется очень быстро и создает проблемы серверу.

И создаёт проблемы серверу или не создаёт ? Вы тут не ошиблись ?

Ссылка на сообщение
Поделиться на других сайтах

Ctfelix, не создаёт

Ссылка на сообщение
Поделиться на других сайтах

И создаёт проблемы серверу или не создаёт ? Вы тут не ошиблись ?

не создает. Забыл просто "не" написать.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...