WedX - журнал о программировании и компьютерных науках

Когда я использую пользовательский html для prestashop 1.6.1.5, он удаляет его после сохранения

Пожалуйста, помогите мне понять природу проблемы. Я использую Престашоп 1.6.1.5.

Я использую пользовательские теги HTML для своих страниц prestashop, и они отлично работают для модуля блога (Smart Blog v2.0.2). Однако, когда я использую то же самое для страниц в главном меню (настройки -> страницы), он удаляет все мои добавления HTML :(

Я уже изменил метод isCleanHtml в classs/Validate.php (теперь он всегда возвращает «True». Однако это мне не помогло :(

Пример: я хочу использовать

    <div style="display: inline-block;"> 
<div style="display: inline-block; vertical-align: top; float: left; margin-right: 15px;"> 
<div style="display: inline-block; text-align: center;"><a href="link11"><img title="Title" src="link12" alt="Text alt" width="100" height="100" /></a></div> 
<div style="display: inline-block; text-align: center;"><a href="link21"><img title="Title" src="link22" alt="Text alt" width="100" height="100" /></a>
</div> </div> 
<p>Text</p> 
</div>

Что у меня есть после сохранения страницы:

<div>
<div>
<div><a href="link11"><img title="Title" src="link12" alt="Text alt" width="100" height="100" /></a></div>
<div><a href="link21"><img title="Title" src="link22" alt="Text alt" width="100" height="100" /></a></div>
</div>
<p>Text</p>
</div>

Благодарю вас!


Ответы:


1

Функция isCleanHtml, возвращающая значение true, только предотвратит возврат ошибки Validate. Вместо этого вы должны удалить поле проверки из содержимого в объекте CMS. Поскольку ObjectModel в formatFields имеет:

$purify = (isset($data['validate']) && Tools::strtolower($data['validate']) == 'iscleanhtml') ? true : false;
      // Format field value
      $fields[$field] = ObjectModel::formatValue($value, $data['type'], false, $purify, !empty($data['allow_null']));

Таким образом, очистка зависит только от поля, установившего проверку. И formatValue имеет:

...
case self::TYPE_HTML:
      if ($purify) {
          $value = Tools::purifyHTML($value);
      }
...

Таким образом, он по-прежнему будет очищать HTML, потому что в вашем поле все еще есть 'validate' => 'isCleanHtml'. Решение должно быть простым: удалить эту часть в 'контенте' из объекта CMS в папке классов.

11.06.2017
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]