2017-06-11 4 views
1

問題の性質を理解してください。私はPrestashop 1.6.1.5を使用します。prestashop 1.6.1.5にカスタムhtmlを使用すると、保存後に削除されます

私はプレスタッシュページにカスタムHTMLタグを使用しています。これは、ブログ(Smart Blog v2.0.2)モジュールの中でうまくいきます。 しかし、私はメインメニュー(設定 - >ページ)のページに同じものを使用すると、すべてのHTMLの追加を削除します:(

私はすでにclass/Validate.phpのisCleanHtmlメソッドを変更しました。

<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> 
:「真の」今ではしかし、これは私:(

例:私は、ページを保存した後、私が持っているもの

<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> 

を使用したい を助けていません

ありがとうございました!

答えて

0

trueを返すisCleanHtml関数は、Validateがエラーを返さないようにするだけです。代わりに、CMSオブジェクト内のコンテンツから検証フィールドを削除する必要があります。 formatFieldsでObjectModelを持っているので:

$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'])); 

だから、Purifyが唯一の検証を設定したフィールドに依存します。そしてformatValueがあります

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

それはまだpurifyHTMLなりますので、あなたのフィールドはまだ'validate' => 'isCleanHtml'を持っているので。解決策はシンプルでなければなりません。クラスフォルダ内のCMSオブジェクトから 'content'のこの部分を削除します。

+0

完璧です!どうもありがとうございます! –

関連する問題