Jump to content
Sign in to follow this  
odys

Своя картинка в og:image в полной новости для версии 13

Recommended Posts

1 час назад, Diman777 сказал:

Здравствуйте. Удалось найти время посмотреть, что да как можно подправить?

Вот тут другой разработчик подкорректировал плагин, чтобы alt не проставлялись.

Edited by Spyhog
  • Upvote 1

Share this post


Link to post
Share on other sites
2 часа назад, Spyhog сказал:

Вот тут другой разработчик подкорректировал плагин, чтобы alt не проставлялись.

Спасибо вам за ссылку и человеку кто доработал плагин, проверил всё действительно заработало как нужно.

Для тех кто будет пользоваться новой версией 1.7 напомню замените в коде плагина слово (без кавычек) "poster" на своё имя доп.поля.

  • Like 1

Share this post


Link to post
Share on other sites
8 часов назад, Diman777 сказал:

Здравствуйте. Удалось найти время посмотреть, что да как можно подправить?

я забыл 😕

Share this post


Link to post
Share on other sites
4 минуты назад, odys сказал:

я забыл 😕

 

Если всё-таки доработаете, то подскажите сразу, как сделать для нескольких дополнительных полей, как вы это объяснили ранее. В исправленной версии, что привели выше, я так и не смог сделать для двух дополнительных полей.

 

 

Share this post


Link to post
Share on other sites

@Diman777, @radrigo готово

 

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>og:image</name>
	<description></description>
	<icon></icon>
	<version>2.0</version>
	<dleversion>14</dleversion>
	<versioncompare>greater</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<needplugin></needplugin>
	<mnotice>0</mnotice>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<phpinstall><![CDATA[]]></phpinstall>
	<phpupgrade><![CDATA[]]></phpupgrade>
	<phpenable><![CDATA[]]></phpenable>
	<phpdisable><![CDATA[]]></phpdisable>
	<phpdelete><![CDATA[]]></phpdelete>
	<notice><![CDATA[]]></notice>
	<file name="engine/modules/show.full.php">
		<operation action="replace">
			<searchcode><![CDATA[if ( count($images) ) {
			$social_tags['image'] = str_replace("/thumbs/","/",$images[0]);
			$social_tags['image'] = str_replace("/medium/","/",$social_tags['image']);
		}]]></searchcode>
			<replacecode><![CDATA[$xfieldsdata = xfieldsdataload( $row['xfields'] );
if (isset($xfieldsdata['img'])) {
	$soctimage = explode('|', $xfieldsdata['img']);
	if (count($soctimage) > 1) {$socimgarticle = $config['http_home_url'].'uploads/posts/'.$soctimage[1];}
	else {$socimgarticle = $config['http_home_url'].'uploads/posts/'.$soctimage[0];}
} else {
	$socimgarticle = $images;
	
	if ( count($socimgarticle) ) {
		$socimgarticle = str_replace("/thumbs/","/",$images[0]);
		$socimgarticle = str_replace("/medium/","/",$social_tags['image']);
	} else {
		$socimgarticle = $config['http_home_url'].'uploads/kanaspo.jpg';
	}
}
$social_tags['image'] = $socimgarticle;]]></replacecode>
		</operation>
	</file>
</dleplugin>

$xfieldsdata['img'] — в 2-х местах меняем img на имя своего поля

 

1 час назад, radrigo сказал:

как сделать для нескольких дополнительных полей

вот для 2-х

 

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>og:image</name>
	<description></description>
	<icon></icon>
	<version>2.0</version>
	<dleversion>14</dleversion>
	<versioncompare>greater</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<needplugin></needplugin>
	<mnotice>0</mnotice>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<phpinstall><![CDATA[]]></phpinstall>
	<phpupgrade><![CDATA[]]></phpupgrade>
	<phpenable><![CDATA[]]></phpenable>
	<phpdisable><![CDATA[]]></phpdisable>
	<phpdelete><![CDATA[]]></phpdelete>
	<notice><![CDATA[]]></notice>
	<file name="engine/modules/show.full.php">
		<operation action="replace">
			<searchcode><![CDATA[if ( count($images) ) {
			$social_tags['image'] = str_replace("/thumbs/","/",$images[0]);
			$social_tags['image'] = str_replace("/medium/","/",$social_tags['image']);
		}]]></searchcode>
			<replacecode><![CDATA[$xfieldsdata = xfieldsdataload( $row['xfields'] );
if (isset($xfieldsdata['img'])) {
	$soctimage = explode('|', $xfieldsdata['img']);
	if (count($soctimage) > 1) {$socimgarticle = $config['http_home_url'].'uploads/posts/'.$soctimage[1];}
	else {$socimgarticle = $config['http_home_url'].'uploads/posts/'.$soctimage[0];}
} elseif (isset($xfieldsdata['poster'])) {
	$soctimage = explode('|', $xfieldsdata['poster']);
	if (count($soctimage) > 1) {$socimgarticle = $config['http_home_url'].'uploads/posts/'.$soctimage[1];}
	else {$socimgarticle = $config['http_home_url'].'uploads/posts/'.$soctimage[0];}
} else {
	$socimgarticle = $images;
	
	if ( count($socimgarticle) ) {
		$socimgarticle = str_replace("/thumbs/","/",$images[0]);
		$socimgarticle = str_replace("/medium/","/",$social_tags['image']);
	} else {
		$socimgarticle = $config['http_home_url'].'uploads/kanaspo.jpg';
	}
}
$social_tags['image'] = $socimgarticle;]]></replacecode>
		</operation>
	</file>
</dleplugin>

также 2 раза поменять poster на своё имя поля.

И так по аналогии можно хоть 10 полей добавить

Ну и скачать: https://yadi.sk/d/5ecZ-g_yO-QnDQ

Edited by odys
  • Like 2
  • Upvote 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Спасибо "odys" попробую ваши изменения.

Я не совсем понял "radrigo" для чего нужно 2 поля в og:image нужно ведь только одно изображение, что дают 2 поля для чего это нужно?

 

Share this post


Link to post
Share on other sites
1 час назад, Diman777 сказал:

Я не совсем понял "radrigo" для чего нужно 2 поля в og:image нужно ведь только одно изображение, что дают 2 поля для чего это нужно?

ну, например я раньше тоже пользовался 2-мя полями. В первое загружал основную картинку, а во второе, не во все материалы, загружал постер. Он, как правило, был раза в 2 больше и служил больше для визуального оформления страницы новости.

Share this post


Link to post
Share on other sites
3 часа назад, odys сказал:

ну, например я раньше тоже пользовался 2-мя полями. В первое загружал основную картинку, а во второе, не во все материалы, загружал постер. Он, как правило, был раза в 2 больше и служил больше для визуального оформления страницы новости.

То что можно использовать несколько доп полей с изображениями при оформления страницы это я понимаю но в вашем модуле во втором варианте используется два поля для загрузки "og:image" для соц. сетей. Я ещё не проверял но получается два значения "og:image" или в одном значении будет две ссылки. В чём смысл в этом втором поле для меня неясно 😐.

Share this post


Link to post
Share on other sites
14 минут назад, Diman777 сказал:

То что можно использовать несколько доп полей с изображениями при оформления страницы это я понимаю но в вашем модуле во втором варианте используется два поля для загрузки "og:image" для соц. сетей. Я ещё не проверял но получается два значения "og:image" или в одном значении будет две ссылки. В чём смысл в этом втором поле для меня неясно 😐.

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

  • Thanks 1

Share this post


Link to post
Share on other sites
7 часов назад, Diman777 сказал:

В чём смысл в этом втором поле для меня неясно

смысл в том, что если используется постер, то данную картинку я всегда готовил для поста, соответственно оно было в приоритете для соц. сетей. Если же постер пусто, тогда картинку со второго поля.

  • Thanks 1

Share this post


Link to post
Share on other sites
21 час назад, radrigo сказал:

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

 

14 часов назад, odys сказал:

смысл в том, что если используется постер, то данную картинку я всегда готовил для поста, соответственно оно было в приоритете для соц. сетей. Если же постер пусто, тогда картинку со второго поля.

Спасибо за пояснения.

Share this post


Link to post
Share on other sites
В 15.05.2018 в 23:24, odys сказал:

Если доп. поле окажется пустым, будет выбрана первая картинка из загруженных к новости.

В последней версии эта функция у меня перестала работать. Если в дополнительном поле ничего нет, то проверку в новостях на наличие картинок не делает. og:image выводится пустым

Share this post


Link to post
Share on other sites
Posted (edited)

odys

Это можно исправить?

Edited by radrigo

Share this post


Link to post
Share on other sites
22 минуты назад, radrigo сказал:

odys

Это можно исправить?

В плагине замените

$social_tags['image'] = $socimgarticle;

на

if ($socimgarticle) {
    $social_tags['image'] = $socimgarticle;
}

 

  • Like 1

Share this post


Link to post
Share on other sites
2 часа назад, radrigo сказал:

odys

Это можно исправить?

да.

нужно в плагине изменить

if ( count($socimgarticle) ) {
		$socimgarticle = str_replace("/thumbs/","/",$images[0]);
		$socimgarticle = str_replace("/medium/","/",$social_tags['image']);
	}

на

if ( count($socimgarticle) ) {
		$socimgarticle = str_replace("/thumbs/","/",$socimgarticle[0]);
		$socimgarticle = str_replace("/medium/","/",$socimgarticle);
	}

Скачать обновлённую версию: https://yadi.sk/d/5ecZ-g_yO-QnDQ

  • Like 1
  • Thanks 1

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

Sign in to follow this  

×
×
  • Create New...