Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Вставка скрипта PHP в описание товара


vpvs
 Поделиться

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

Добрый день

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

 

Если непонятно объяснил...

Хочу создать файл description.php c HTML кодом описания товара. Потом через 

 

<?php

include 'description.php';

?>

 

вставить этот скрипт в описание товара в Opencart. Таким образом, если нужно что-то изменить в описании сотен аналогичных товаров (в моем случае - постельного белья), достаточно просто отредактировать HTML в файле description.php.

 

В Joomla есть плагин Sourcerer, который предоставляет решение через вставку кода между тегами {source} {/source}.

 

Может кто-то знает, есть ли что-то подобное для Opencart/OcStore? Использую версию OcStore 1.5.5.1.2.

Или может кто-то мог бы реализовать?

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


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

Чтобы CKEditor не затирал код в файл config.js дабавьте

CKEDITOR.config.indentClasses = ["ul-grey", "ul-red", "text-red", "ul-content-red", "circle", "style-none", "decimal", "paragraph-portfolio-top", "ul-portfolio-top", "url-portfolio-top", "text-grey"];
    CKEDITOR.config.protectedSource.push(/<(style)[^>]*>.*<\/style>/ig);// разрешить теги <style>
    CKEDITOR.config.protectedSource.push(/<(script)[^>]*>.*<\/script>/ig);// разрешить теги <script>
    CKEDITOR.config.protectedSource.push(/<\?[\s\S]*?\?>/g);// разрешить php-код
    CKEDITOR.config.protectedSource.push(/<!--dev-->[\s\S]*<!--\/dev-->/g);
    CKEDITOR.config.allowedContent = true; /* все теги */
Изменено пользователем mstkalenko
Ссылка на комментарий
Поделиться на других сайтах

Я вставил этот код в файл admin/view/javascript/ckecditor/config.js

Не работает, все равно в результате получается 

 

<!--?
include 'description/viluta.php';
?-->
 
Но выбор способа решения мне нравится... Может где-то в Вашем коде ошибка? Имеет значение куда вставлять: в начало файла, в конец и т.п.? Пробовал разные способы
Ссылка на комментарий
Поделиться на других сайтах


Вот мой файл с тестового магаза https://yadi.sk/d/BiRKtFHyiHXBY

 

Код 

<?php
include 'description/viluta.php';
?>

после сохранения не режет, только что проверил.

 

PS. Сборка эдитора кастомная с оф. сайта

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

скачал, установил последний CKEditor. Добавил Ваш код.

Результата нет. Но теперь при повторном входе в редактор код не обрезанный, а вот в режиме отладки все то же

 

<!--?php
include "description/viluta.php";
?-->
 
У Вас работает функция include? Выполняется код, который включается?
Изменено пользователем vpvs
Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

А не проще ли тогда в контроллере поймать {php_file=description.php} и его выполнить? Получается, что тогда в редакторе нужно будет вставлять {php_file=description.php}. 

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

вы там чего курите? С какого перепугу php код должен вообще выполняться в редакторе?

Есть такая необходимость.

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


 

курю такой бамбук, используя для этих целей статьи:

<?php
$thistitle = $this->model_catalog_information->getInformation(5);
echo $display= html_entity_decode($thistitle['description']);
?>

Не могли бы Вы описать по подробнее. Что куда прописать,

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


А не проще ли тогда в контроллере поймать {php_file=description.php} и его выполнить? Получается, что тогда в редакторе нужно будет вставлять {php_file=description.php}. 

Интересная мысль. Как она может быть реализована?

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


для этого можно прикрутить shortcode - бесплатный модуль, тогда можно прописывать свои shortcod'ы и методы

 

А реально, если это нужно для одноразового

 

$description = $product_info['descriptoin')

if (preg_match('#регулярка посика php_file=description.php}#',$description, $matches{

// находим нужный,

//принимаем решение

//делаем replace

}

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

для этого можно прикрутить shortcode - бесплатный модуль, тогда можно прописывать свои shortcod'ы и методы

 

 

Тут все кратки. shortcode что этот модуль даёт? Приписывает к каждому продукту код через который его можно вызывать?

 

 

А реально, если это нужно для одноразового

 

$description = $product_info['descriptoin')

if (preg_match('#регулярка посика php_file=description.php}#',$description, $matches{

// находим нужный,

//принимаем решение

//делаем replace

}

 

Нужно на постоянно. Опишите подробно пожалуйста как данный.

 

 

Разговор немого пошёл в другую сторону.

Опишу подробнее.

 

Есть 2 задачи.

 

1) В шаблоне header.tpl нужно вызвать парметры товара, такие как

вес,длина, ширина, глубина.

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

 

2) Есть product.tpl где находится аналогичный виджет(в редакторе). В данном шаблоне параметры(вес,длина и т.д) выводятся нормально но их не получается подставить в редактор, потому что php не работает в нём, а виджет выводить хочется в редакторе. Получилось сделать подстановку в параметры но они подставлялись после формирования виджета, а не до поэтому получалось не то что нужно.(Использовался javascript)

Поэтому как я вижу единственный способ это php подстановка.

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


  • 1 год спустя...
В 03.09.2015 в 14:16, chukcha сказал:

для этого можно прикрутить shortcode - бесплатный модуль, тогда можно прописывать свои shortcod'ы и методы

 

Как бы подробнее услышать (увидеть) реализацию к примеру текстовой страницы - поставленную в нужное место на сайте с помощью шорткодов?

Поясните как - так сделать, пожалуйста.

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


В 03.09.2015 в 03:36, halfhope сказал:

А не проще ли тогда в контроллере поймать {php_file=description.php} и его выполнить? Получается, что тогда в редакторе нужно будет вставлять {php_file=description.php}. 

 

И как поймать метод передачи страницы Html, что бы потом вставить в шорткод и сам шорткод прописать в нужном месте?

Сообщите  будь-те любезны, очень нужна такая схема реализации.

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


да капец. что за пхп на редактор?

если хочешь одно описание, только с подставкой имени или что-то, то напиши в шаблон, и подставляй имя или еще что-то. если 5 разных описаний, для 100 категорий, то делай условия и выводи. куча разных вариантов, вплоть до создания собственных полей.

 делал на одном, там мама не горюй.

купить (тут хлебная крошка) в городе (тут имя города с гео айпи)

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


  • 6 месяцев спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

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

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.