Jump to content

HTML в Конфигурации [Решено]


goodwin74

Recommended Posts

Версия PrestaShop 1.5.4.1.

 

 

Вызов функци:

Configuration::updateValue('block1', (($_POST['block1input'] != '') ? $_POST['block1input']: ''),true);

c учетом что в поле block1input присутствуют HTML теги, записывает текст обрезая теги.

 

Как исправить, подскажите, пожалуйста? Буду очень благодарен!

Edited by goodwin74 (see edit history)
Link to comment
Share on other sites

Версия PrestaShop 1.5.4.1.

 

 

Вызов функци:

Configuration::updateValue('block1', (($_POST['block1input'] != '') ? $_POST['block1input']: ''),true);

c учетом что в поле block1input присутствуют HTML теги, записывает текст обрезая теги.

 

Как исправить, подскажите, пожалуйста? Буду очень благодарен!

что на выходе надо получить?

Link to comment
Share on other sites

что на выходе надо получить?

На выходе значение конфигурации выводится в шаблоне в блоке. Вообще по сути надо реализовать переход на след строку.

Хотел сделать добавление <br>, но оказалось теги режет функция что с true что с false.

Link to comment
Share on other sites

На выходе значение конфигурации выводится в шаблоне в блоке. Вообще по сути надо реализовать переход на след строку.

Хотел сделать добавление <br>, но оказалось теги режет функция что с true что с false.

сохраняй в бд как вариант))

всё равно идёт в бд.

 и не <br> а <br/> пиши или \n попробуй

Link to comment
Share on other sites

сохраняй в бд как вариант))

всё равно идёт в бд.

 и не <br> а <br/> пиши или \n попробуй

Не охота через "одно место", добавлять в БД. Поэтому и написал сюда, может, кто встречался с проблемой и напишет, где функция режет теги.

Link to comment
Share on other sites

Не охота через "одно место", добавлять в БД. Поэтому и написал сюда, может, кто встречался с проблемой и напишет, где функция режет теги.

я раньше делал так только true и false не писал. вроде работало.

в 1,5 public static function updateValue($key, $values, $html = false, $id_shop_group = null, $id_shop = null)

    {

 

с true должно работать.

может дело не в записи а в выводе?

проверь с true в бд попадает html ?

Link to comment
Share on other sites

я раньше делал так только true и false не писал. вроде работало.

в 1,5 public static function updateValue($key, $values, $html = false, $id_shop_group = null, $id_shop = null)

    {

 

с true должно работать.

может дело не в записи а в выводе?

проверь с true в бд попадает html ?

Если бы в БД писалось с тегами, то в настройках модуля при помощи Configuration::get выводились бы тоже теги, но и там ведь их нет. 

Link to comment
Share on other sites

Если бы в БД писалось с тегами, то в настройках модуля при помощи Configuration::get выводились бы тоже теги, но и там ведь их нет. 

сорь ступил, щас попробую у себя...

Link to comment
Share on other sites

Если бы в БД писалось с тегами, то в настройках модуля при помощи Configuration::get выводились бы тоже теги, но и там ведь их нет. 

<?
require_once(dirname(__FILE__).'/config/config.inc.php');
require_once(dirname(__FILE__).'/init.php');
$html = 'test<br/>testing';
Configuration::updateValue('testing', $html, true);
$r = Configuration::get('testing');
print_r($r);

вот код

работает <br/>

Edited by absent (see edit history)
Link to comment
Share on other sites

<?
require_once(dirname(__FILE__).'/config/config.inc.php');
require_once(dirname(__FILE__).'/init.php');
$html = 'test<br/>testing';
Configuration::updateValue('testing', $html, true);
$r = Configuration::get('testing');
print_r($r);

вот код

работает <br/>

 

Configuration updated

и <br/> исчезает

у тебя версия может новая PS?

Link to comment
Share on other sites

1.5.6

в 1,5,4,1 щас проверил всё ок.

Configuration::updateValue('block1', (($_POST['block1'] != '') ? $_POST['block1']: ''),true);
Configuration::updateValue('block2', (($_POST['block2'] != '') ? $_POST['block2']: ''),true);					
$this->_clearCache('blockFooter.tpl');
$output = '<div class="conf confirm">'.$this->l('Configuration updated').'</div>';

Вывод:

<h2>'.$this->displayName.'</h2>
		'.$output.'
		<form action="'.Tools::htmlentitiesutf8($_SERVER['REQUEST_URI']).'" method="post">
			<fieldset class="width2">				
				<label for="block1">'.$this->l('Блок 1: ').'</label>
				<textarea id="block1" name="block1">'.Tools::safeOutput((Configuration::get('block1') != "") ? Configuration::get('block1') : "").'</textarea>
				<label for="block2">'.$this->l('Блок 2: ').'</label>
				<textarea id="block2" name="block2">'.Tools::safeOutput((Configuration::get('block2') != "") ? Configuration::get('block2') : "").'</textarea>
				<div class="clear"> </div>							
				<br /><center><input type="submit" name="submitModule" value="'.$this->l('Update settings').'" class="button" /></center>
			</fieldset>
		</form>';

Вроде все правильно.

Link to comment
Share on other sites

Configuration::updateValue('block1', (($_POST['block1'] != '') ? $_POST['block1']: ''),true);
Configuration::updateValue('block2', (($_POST['block2'] != '') ? $_POST['block2']: ''),true);					
$this->_clearCache('blockFooter.tpl');
$output = '<div class="conf confirm">'.$this->l('Configuration updated').'</div>';

Вывод:

<h2>'.$this->displayName.'</h2>
		'.$output.'
		<form action="'.Tools::htmlentitiesutf8($_SERVER['REQUEST_URI']).'" method="post">
			<fieldset class="width2">				
				<label for="block1">'.$this->l('Блок 1: ').'</label>
				<textarea id="block1" name="block1">'.Tools::safeOutput((Configuration::get('block1') != "") ? Configuration::get('block1') : "").'</textarea>
				<label for="block2">'.$this->l('Блок 2: ').'</label>
				<textarea id="block2" name="block2">'.Tools::safeOutput((Configuration::get('block2') != "") ? Configuration::get('block2') : "").'</textarea>
				<div class="clear"> </div>							
				<br /><center><input type="submit" name="submitModule" value="'.$this->l('Update settings').'" class="button" /></center>
			</fieldset>
		</form>';

Вроде все правильно.

 

Tools::safeOutput убери и посмотри)))

public static function safeOutput($string, $html = false)
	{
		if (!$html)
			$string = strip_tags($string);
		return @Tools::htmlentitiesUTF8($string, ENT_QUOTES);
	}
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...