Jump to content

Recommended Posts

Добрый день

Пришла в голову идея, как упростить вставку описаний товара из внешнего файла через директиву 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.

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

Share this post


Link to post
Share on other sites

нет, не то... (

Share this post


Link to post
Share on other sites

Чтобы 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; /* все теги */
Edited by mstkalenko

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

Код 

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

<!--?php
include "description/viluta.php";
?-->
 
У Вас работает функция include? Выполняется код, который включается?
Edited by vpvs

Share this post


Link to post
Share on other sites

Удалось ли решить проблему?. То же оч нужно.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

вы там чего курите? 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

 

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

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

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

Edited by Coba2

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

$description = $product_info['descriptoin')

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

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

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

//делаем replace

}

Share this post


Link to post
Share on other sites

для этого можно прикрутить 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 подстановка.

Share this post


Link to post
Share on other sites
В 03.09.2015 в 14:16, chukcha сказал:

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

 

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

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

Share this post


Link to post
Share on other sites
В 03.09.2015 в 03:36, halfhope сказал:

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by Miha7685776

Share this post


Link to post
Share on other sites

Реализовывал такую штуку через Ajax функцией load, работает.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By dubas413
      Добрый день - подскажите пожалуйста - как задать один шрифт и оформление во всех описаниях товаров!
    • By worldtour
      Скачать/Купить дополнение


      Подключение к сквозной аналитике (b24order)
      Подключение своего интернет-магазина к сквозной аналитике

      Добавляет код для сквозной аналитики для битрикса на странице успешного заказа. 
      Добавляет код:
      <script>(window.b24order = window.b24order || []).push({ id: "КОД_ЗАКАЗА", sum: "СУММА_ЗАКАЗА" });</script>
      перед footer'ом
       
      PS: Выкладывается как есть, по причине того что на форуме были подобные темы без ответа.
      Добавил worldtour Добавлено 22.07.2020 Категория Покупки, оформление заказа, корзина Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика Нет Старая цена 0  
    • By worldtour
      Подключение своего интернет-магазина к сквозной аналитике

      Добавляет код для сквозной аналитики для битрикса на странице успешного заказа. 
      Добавляет код:
      <script>(window.b24order = window.b24order || []).push({ id: "КОД_ЗАКАЗА", sum: "СУММА_ЗАКАЗА" });</script>
      перед footer'ом
       
      PS: Выкладывается как есть, по причине того что на форуме были подобные темы без ответа.
    • By kaaspb
      Здравствуйте
       
      Необходимо перевязать домены у интернет-магазина (изменить старый домен на новый) 
      Сервер останется старый, где хранится сайт
       
      читал, что из-за смены домена может сломаться функционал сайта.... те в случае необходимости настроить работу старых модулей в  сайте: корзина - смс - yml файл, настроена работа скриптов по работе с гугл таблицами
       
      те на выходе изменить домен и сохранить старую работоспособность
    • By Lidiia
      Добрый вечер.

      Был сделан редирект сайта hug.com.ua с http to https - https://hug.com.ua сайт и сертификат отобразились после смены всех ссылок и редактирования файлов к каталоге сайта http/.htaccess и http/config.php а также http/admin/config.php 

      но справа появляется иконка с информацией: "страница пытается загрузить скрипты из непроверенных источников" 
      если нажать  "загрузить небезопасные скрипты" то слитает-зачеркивается https сертификат.
      (Сайт на hug.com.ua ocStore OpenCart version 2.1.0.2.1)

      Есть также Landing page https://hug.com.ua/lp/mouse/ сделан дополнительным каталогом Developed on: 
      Bootstrap v3.3.6 (http://getbootstrap.com)
      * Copyright 2011-2015 Twitter, Inc.

      Согласно данной статье https://devaka.ru/articles/moving-to-https
      По вопросу:
      .

      Подскажите пожалуйста, где и как это исправить в области скриптов ?
      Где найти каталог с внешними скриптами в ocStore OpenCart version 2.1.0.2.1 в FTP файлах?
      For example catalog: 
      1) /system
      2) /system/library
       
      Где найти каталог с внешними скриптами в Bootstrap v3.3.6 в FTP файлах? For example catalog: 
      1) /css 
      2) /js
      3) /libs
      К примеру во всех файлах где есть ссылки с http - Bootstrap v3.3.6 (http://getbootstrap.com) изменить в каждом на Bootstrap v3.3.6 (https://getbootstrap.com) ?
      Существует ли специальный плагин или модуль, который перепишет все ссылки с http на httpS автоматически в подключениях внешних скриптов?
       
      Спасибо за ваши будущие ответы. 
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.