Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как можно отключить комментирование php кода в модуле HTML Содержимое


Recommended Posts

Доброго дня

 

требуется вывести php код через стандартный модуль  "HTML Содержимое"

но код автоматически комментируется и не исполняется, как можно это исправить самостоятельно?

 

Заранее благодарю

Надіслати
Поділитися на інших сайтах


40 минут назад, Stepanboy777 сказал:

Доброго дня

 

требуется вывести php код через стандартный модуль  "HTML Содержимое"

но код автоматически комментируется и не исполняется, как можно это исправить самостоятельно?

 

Заранее благодарю


встройте код в нужное место

Надіслати
Поділитися на інших сайтах

Вы имеете ввиду, если php-код ввести прямо в редакторе текста? https://ibb.co/hXR5Gyy

Код должен демонстрироваться или исполняться?

 

Если код писать прямо в редакторе текста в админке, он в таком случае является текстом. И чтобы он отработал, нужно использовать функцию eval(). И  в таком случае надо прописать превращение текста в код в файле catalog/controller/extension/module/html.php. Но этот код надо еще и найти среди текста. А это будет не очень легко и просто в случае вот такой конструкции:

<?php for ($i = 1; $i <= 5; $i++) { ?>
<?php if ($product['rating'] < $i) { ?>
<span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
<?php } else { ?>
<span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span>
<?php } ?>
<?php } ?>

 

Если же php-код чисто для вывода чего-либо, то тут лучше уже шорткоды какие-то написать, что ли

 

И тогда в тексте можно использовать что-то вроде [social_buttons]. Потом найти это среди текста, и заменить нужной конструкцией. Замену опять же нужно прописать в контроллере этого модуля.

Надіслати
Поділитися на інших сайтах

php код должен исполняться, притом, только на некоторых страницах, 

 

если конкретно пример, то мне надо вывести его на некоторых страницах категорий, то есть не на всех страницах, где выводятся категории и используется шаблон category

 

как по-другому реализовать я не знаю, то есть шаблон отдельный я сделал, но вставить в него php код не могу... пытался посредством модуля html

 

 

 

Надіслати
Поділитися на інших сайтах


18 минут назад, Stepanboy777 сказал:

php код должен исполняться, притом, только на некоторых страницах, 

 

Сделайте для каждой категории доп поле: "Отображать эту хрень?" Да | Нет

Для этого надо задеть контроллер, модель и вьюшку + новое поле в базе

 

Потом в catalog/controller/product/category.php

Где-то после

if ($category_info) {

  // добавляем вот эту строку

  $data['show_some_block'] = $category_info['show_some_block'];

 

Ну и во вьюшке catalog/view/theme/default/template/product/category.tpl (или другой шаблон)
 

if ($show_some_block) {

  // todo...

  // Выполняем этот злосчастный php-код, который нужно

}

 

Хотя, вполне может быть, что в контроллере


 

if ($category_info['show_some_block']) {

  $data['some_block'] = $this->load->controller('extension/module/some_block.php');

} else {

  $data['some_block'] = false;

}

 

+ во вьюшке уже:

<?php if ($some_block) { echo $some_block; } ?>

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, alena967 сказал:

можно изменить конфиги у текстового редактора для вывода кода php 

 

Да? Даже не знал))

Но, это же надо тогда вручную вводить один и тот же код php на определенное кол-во страниц?

Надіслати
Поділитися на інших сайтах

1 минуту назад, alena967 сказал:

можно изменить конфиги у текстового редактора для вывода кода php

 

 

вы знаете как сделать это

5 минут назад, SergeTkach сказал:

Сделайте для каждой категории доп поле: "Отображать эту хрень?" Да | Нет

Для этого надо задеть контроллер, модель и вьюшку + новое поле в базе

 

не самый просто вариант конечно

Надіслати
Поділитися на інших сайтах


Представляете, что там наворотят менеджеры магазина, если дать им редактировать php-код в админке, вместо тыканья галочки?

Надіслати
Поділитися на інших сайтах

1 минуту назад, SergeTkach сказал:

Но, это же надо тогда вручную вводить один и тот же код php на определенное кол-во страниц?

конечно вручную

логичнее- в контролере категории поставить условие и при выполнении оного выводить желаемое

но мы с вами не знаем уровень ТС

Надіслати
Поділитися на інших сайтах

6 минут назад, alena967 сказал:

но мы с вами не знаем уровень ТС

Если для Топик Стартера написать модификатор для этой цели - это сложно, то самое время попробовать и понять, что это не так сложно )))

 

Надіслати
Поділитися на інших сайтах

Ну вот вставится php-код в редактор. И сохранится в базу. И что дальше?

Где здесь есть обработка php-кода, чтобы он не просто отобразился на странице, но и отработал бы?

 

<?php
class ControllerExtensionModuleHTML extends Controller {
	public function index($setting) {
		if (isset($setting['module_description'][$this->config->get('config_language_id')])) {
			$data['heading_title'] = html_entity_decode($setting['module_description'][$this->config->get('config_language_id')]['title'], ENT_QUOTES, 'UTF-8');
			$data['html'] = html_entity_decode($setting['module_description'][$this->config->get('config_language_id')]['description'], ENT_QUOTES, 'UTF-8');

			return $this->load->view('extension/module/html', $data);
		}
	}
}

 

Надіслати
Поділитися на інших сайтах

30 минут назад, SergeTkach сказал:

Если для Топик Стартера написать модификатор для этой цели - это сложно, то самое время попробовать и понять, что это не так сложно )))

 

 

я попробовал, согласно вашей схеме, но появились ошибки, Notice: Undefined index, Notice: Undefined variable: show_some_block

 

если не трудно, подскажите как вывести через текстовый редактор? если там как вы написали можно это сделать только настроив конфиг. у меня summernote

Змінено користувачем Stepanboy777
Надіслати
Поділитися на інших сайтах


 

6 минут назад, Stepanboy777 сказал:

 

я попробовал, согласно вашей схеме, но появились ошибки, Notice: Undefined index, Notice: Undefined variable: show_some_block

  

если не трудно, подскажите как вывести через текстовый редактор? если там как вы написали можно это сделать только настроив конфиг. у меня summernote

 

Это не я писал. Это @alena967 писала.

Надіслати
Поділитися на інших сайтах

2 минуты назад, Stepanboy777 сказал:

я добавил только это, можно что-то еще надо? 

 

 

А в базе данных в таблице oc_category Вы создали поле с аналогичным именем `show_some_block`?

 

---

И уже скажите нам, что именно должно выполняться? Можете нам хотя бы "псевдокодом" набросать?

Надіслати
Поділитися на інших сайтах

то есть

 

в определенной категории, назовем ее category_1

 

надо сначала вывести подкатегории картинками, потом сам товар из всех подкатегорий. 

но в других категориях должно быть по-другому

Надіслати
Поділитися на інших сайтах


Ок. И что, есть категории которые нужно выводить картинками, а есть, которые нужно выводить списком? На основе чего принимается решение?

 

Надіслати
Поділитися на інших сайтах

можно проще

 

мне важно вставить php код в нужное мне место в шаблоне категорий, не важно как, посредством модуля html или руками

но чтобы он выполнился при каком-то условии, например, названии категории или ее id или еще как-то чтобы я мог это легко прописать

 

 

Надіслати
Поділитися на інших сайтах


6 минут назад, Stepanboy777 сказал:

не важно как, посредством модуля html или руками

 

6 минут назад, Stepanboy777 сказал:

чтобы я мог это легко прописать

 

Тогда пропишите условие прямо в котроллере. Если условие выполняется, то

 Сценарий 1:

   Ставим метку $flag = true;

   Готовим фотки

 

Иначе

Сценарий 2:

  Ставим метку $flag = false;

 

---

А в шаблоне в месте, где выводится список категорий, проверяйте и вписываете:

 

if ($flag) {

  // Выводим в виде фоток

} else {

  // Выводим в виде исходного списка

}

Надіслати
Поділитися на інших сайтах

извините, я просто не программист, вас не затруднит написать пошагово, если можно? что и как и где? заранее благодарю

ну, и людям тоже пригодится я так думаю

Надіслати
Поділитися на інших сайтах


:o

То, к чему мы пришли - называется не "помогите мне", а "сделайте за меня". И, обычно, когда за Вас что-то делают, то получают за это деньги.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.