Jump to content

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


Recommended Posts

  • 2 weeks later...

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

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

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

Link to comment
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
Link to comment
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
Link to comment
Share on other sites

  • 1 month later...

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

 

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

 

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

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

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

Link to comment
Share on other sites

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

 

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

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

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

Edited by mirohlebkr (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 3 months later...

 

В классе 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;
	}

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

Link to comment
Share on other sites

  • 3 months later...

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

Link to comment
Share on other sites

  • 11 months later...

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

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

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

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

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

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

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

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

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