Jump to content

Recommended Posts

Не вставляется видео с youtube

 

Выдаёт ошибку: Неправильное поле content.

 

В 1.4 - 1.5 всё работало.

Share this post


Link to post
Share on other sites

Непонятна проблема. Куда не вставляется? В визивиг?

Не вставляется на страницу CMS

Share this post


Link to post
Share on other sites

Да, действительно при попытке вставить ролик с Ютуб в описании товара в PrestaShop 1.6 выскакивает ошибка:

 Неправильное поле description (Русский (Russian)).

Как решали, если кто сталкивался?

Share this post


Link to post
Share on other sites

В классе Validate (classes/Validate.php) в методе isCleanHtml закомментить вот эти две строчки:

if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
    return false;

т.е. весь метод должен выглядеть вот так:

	public static function isCleanHtml($html, $allow_iframe = false)
	{
		$events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange';
		$events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend';
		$events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove';
		$events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel';
		$events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart';
		$events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange';
		$events .= '|onselectstart|onstart|onstop';

		if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html))
			return false;

		//if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
			//return false;

		return true;
	}
  • Like 3

Share this post


Link to post
Share on other sites

 

В классе Validate (classes/Validate.php) в методе isCleanHtml закомментить вот эти две строчки:

if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
    return false;

т.е. весь метод должен выглядеть вот так:

	public static function isCleanHtml($html, $allow_iframe = false)
	{
		$events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange';
		$events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend';
		$events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove';
		$events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel';
		$events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart';
		$events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange';
		$events .= '|onselectstart|onstart|onstop';

		if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html))
			return false;

		//if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
			//return false;

		return true;
	}

Спасибо помогло! (в админке так и показывается ВОПРОС, но в фронт офисе всё ОК)

Edited by 13thVoodoo (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

А как вставить видео, в описание товара. Опять танцы с бубном...

Share this post


Link to post
Share on other sites

ВОПРОС - это нормально. Редактор просто не грузит сам объект

 

Ваш совет помог, спасибо! Все работало в 1.6.0.6. Сейчас, после обновления до 1.6.0.8 опять "Неправильное поле Описание (Русский (Russian))". Теперь опять все сначала. Классы Файл / Validate.php тоже обновился и исправлять так-же? Прошлый метод решения с комментированием двух строчек теперь не помогает. Посоветуйте пожалуйста еще что-то. Спасибо!

 

Чего же с обновлениями не исправляют этот баг? Спс!

Edited by mirohlebkr (see edit history)

Share this post


Link to post
Share on other sites

На другом сайте, вставляю видео (Естественно всё повторил с файлом Validate.php) И получаю окно, в котором должно быть видео, с ошибкой 404

Share this post


Link to post
Share on other sites

Та подсказка с комментированием двух строчек в классы / Validate.php позволяет сохранять изменения, но не решает основную проблему - видео не вставляется в новой версии 1.6.0.8. Весь текст сохраняется, а видео как будто и не вставлял. Подскажите пожалуйста, что можно еще предпринять?

 

Решение (работает):

Настройки - общие настройки

Разрешить iframes в HTML полях "ДА"

Edited by mirohlebkr (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

 

В классе Validate (classes/Validate.php) в методе isCleanHtml закомментить вот эти две строчки:

if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
    return false;

т.е. весь метод должен выглядеть вот так:

	public static function isCleanHtml($html, $allow_iframe = false)
	{
		$events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange';
		$events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend';
		$events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove';
		$events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel';
		$events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart';
		$events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange';
		$events .= '|onselectstart|onstart|onstop';

		if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html))
			return false;

		//if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html))
			//return false;

		return true;
	}

Спасибо! Помогло.

Share this post


Link to post
Share on other sites

Спасибо Dzianis Yurevich и у меня на 1.6.0.9 решило проблему. !!! Месяц искал проблему на форумах. ))
Для заметки: Рубильник (Настройки/Общие настройки
/Разрешить iframes в HTML полях/ - у меня как был выключен так и остался. Но видео уже в описаниях товаров ....работает!!! ))) Ура !! Спасибо Шеф

Share this post


Link to post
Share on other sites

Мне помог вариант с Iframes. Версия престы 1.6.0.6 русская. Благодарю.

Share this post


Link to post
Share on other sites

Зачем все усложнять?

Чтобы разрешить вставку видео в контент сайта - страницы, описание товара

зайдите в настройки->общие и включите параметр "Разрешить iframes в HTML полях"

  • Like 2

Share this post


Link to post
Share on other sites

Зачем все усложнять?

Чтобы разрешить вставку видео в контент сайта - страницы, описание товара

зайдите в настройки->общие и включите параметр "Разрешить iframes в HTML полях"

Да все получилось и без проблем. Спасибо за умный и полезный совет!

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.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More