0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 2824 Просмотров
*

deputat333

  • Новичок
  • 6
  • 0 / 0
Имеется необходимость вставки php кода в материал статьи.

Версия Joomla! 2.5.6

В общих настройках фильтрация для суперпользователя отключена.

Редактор вообще вырублен.

javascript вставляет без вопросов, а вот при вставке кода следующего содержания:
Код
<?php echo "тест";?>

выдает вот такое...:
Код
<!--?php echo "тест";?-->

Как и где можно отключить это комментирование?
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Напрямую вставить php код в материал нельзя. Он не будет выполняться .
Воспользуйтесь для вставки php модулем . Например этим http://joomlaforum.ru/index.php/topic,156391.0.html
Вставьте код в модуль, а модуль уже в нужное место статьи . Стандартным способом  {loadposition позиция_модуля} .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

deputat333

  • Новичок
  • 6
  • 0 / 0
В том-то и дело, что большинство модулей для вставки используют функцию eval. А мне как-то не хочется с огнем играть.
Да и вопрос в том, что это похоже защита от дурака, чтоб не напортачил.
А раз есть защита - то значит она должна и сниматься.
И не хочется лишние сущности плодить.
+ на форуме читал, что достаточно фильтрацию текста снять и код будет работать.
Но не тут-то было.
А тут явно где-то regexp работает и прописывает комментарии.

Так что вопрос в силе.
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Текст статей хранится в бд . И для системы это HTML код, php код в статье выволняться не будет . Я конечно не великий гуру в Joomla , но думаю что php в статье выполняться и не должен .
Выполнить php в статье можно или через модуль . Или поставив плагин, типа DirectPHP . Который опять же будет гонять текст статей через регулярки и подключать его через eval .
Так что, наверное лучше модулем .  ;D
Ответы на вопросы по CSS . Откройте для себя Firebug
*

deputat333

  • Новичок
  • 6
  • 0 / 0
Меня другое и удивляет и не оставляет без надежды.

Во-первых - javascript отрабатывает. Значит на него разрешение оставили.
Во-вторых в статью попадает не текст <?php echo "что-то"?>, а комментарий HTML. Хотя даже если бы и текст кода на php - это значит, что где-то стоит фильтр и экранирует эти теги.

В данной ситуации фильтр преобразовывает тег <??> в комментарий HTML.

Просто интересно, эти же самые модули для вставки - они как-то фильтр этот обходят, а потом просто evil'ом запихивают то, что пользователь ввел со стороны бэкэнда. Или я ошибаюсь?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

deputat333

  • Новичок
  • 6
  • 0 / 0
создай альтернативный макет материала и вставь в макет нужный тебе код
В принципе, это решение. Только для отдельных статей не нашел назначение макета, только возможность назначения id и class. Может не туда смотрю?
А еще лучше (в моей ситуации) для отдельной категории ставить альтернативный макет.
В этом случае все материалы категории будут использовать макет или сама страница категории?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Левый столбец материала
Article Options->Alternative Layout
Цитировать
А еще лучше (в моей ситуации) для отдельной категории ставить альтернативный макет
Проверяйте в макете документа номер категории и соответственно выполняйте действия которые вам надо
*

deputat333

  • Новичок
  • 6
  • 0 / 0
Проверяйте в макете документа номер категории и соответственно выполняйте действия которые вам надо
Идея отличная. Однако пригодна, если код вставляется вначале или в конце статьи. Для меня в данный момент подходит самое оно. Как это я сам не допер.
Ну а как быть если необходимо где-нибудь посередине материала вставить? Таким способом не решить.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Ну а как быть если необходимо где-нибудь посередине материала вставить? Таким способом не решить.
В середине текста удобнее модулем выводить было.
1. Ставь свой код в файл maycode.php, cохрани файл по пути твой шаблон/html/mod_custom/maycode.php. index.html пустой не забудь на случаи разные в папку кинуть
2. В настройке модуля HTML-код в расширенных опциях альтернативный макет выбири свой файл
3. опубликуй модуль в позиции mycode(руками вбей позицию)
4. в материале в нужное место  {loadposition mycode}
5. Плагин загрузка модулей должен включен
*

deputat333

  • Новичок
  • 6
  • 0 / 0
Спасибо за помощь! Пока нет времени поразбираться. Сделаю - отпишусь по результату.
*

prosto-chups

  • Осваиваюсь на форуме
  • 33
  • 4 / 0
  • Сайтостроитель
Спасибо за помощь! Пока нет времени поразбираться. Сделаю - отпишусь по результату.
Скажите, получилось ли у Вас избавится от "закомментаривания" <?php ?> ?
Несколько часов искал решение в интернете, но так и не нашел...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отключить скрипты для одной страницы

Автор mixis

Ответов: 5
Просмотров: 8238
Последний ответ 08.03.2019, 10:06:54
от Сергей Гончаров
Как отключить Joomla template and flash clock by Designers?

Автор Mira

Ответов: 21
Просмотров: 2346
Последний ответ 17.11.2018, 14:47:29
от Mira
Как отключить горизонтальный скорлл страницы?

Автор arut.karpetyan

Ответов: 1
Просмотров: 883
Последний ответ 05.03.2017, 09:11:30
от dmitry_stas
E-Mail уведомление администраторов о новом материале

Автор Yos

Ответов: 3
Просмотров: 3168
Последний ответ 15.02.2017, 15:54:10
от siao
Как содержимое ссылки "Регистрация" в материале ?

Автор max.g

Ответов: 4
Просмотров: 1541
Последний ответ 26.05.2016, 19:18:26
от max.g