Перейти к публикации

Рекомендованные сообщения

  27.02.2020 в 13:09, Diman777 сказал:

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

Расширить  

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

Изменено пользователем Spyhog
Ссылка на сообщение
Поделиться на других сайтах
  27.02.2020 в 14:40, Spyhog сказал:

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

Расширить  

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

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

Ссылка на сообщение
Поделиться на других сайтах
  27.02.2020 в 13:09, Diman777 сказал:

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

Расширить  

я забыл 😕

Ссылка на сообщение
Поделиться на других сайтах
  27.02.2020 в 21:50, odys сказал:

я забыл 😕

Расширить  

 

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

 

 

Ссылка на сообщение
Поделиться на других сайтах

@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 на имя своего поля

 

  27.02.2020 в 21:57, 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

Изменено пользователем odys
  • Нравится 2
  • Поддерживаю 1
  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах

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

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

 

Ссылка на сообщение
Поделиться на других сайтах
  28.02.2020 в 11:05, Diman777 сказал:

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

Расширить  

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

Ссылка на сообщение
Поделиться на других сайтах
  28.02.2020 в 12:33, odys сказал:

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

Расширить  

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

Ссылка на сообщение
Поделиться на других сайтах
  28.02.2020 в 16:08, Diman777 сказал:

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

Расширить  

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

Ссылка на сообщение
Поделиться на других сайтах
  28.02.2020 в 16:08, Diman777 сказал:

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

Расширить  

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

Ссылка на сообщение
Поделиться на других сайтах
  28.02.2020 в 16:23, radrigo сказал:

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

Расширить  

 

  28.02.2020 в 23:22, odys сказал:

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

Расширить  

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

Ссылка на сообщение
Поделиться на других сайтах
  15.05.2018 в 21:24, odys сказал:

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

Расширить  

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

Ссылка на сообщение
Поделиться на других сайтах
  01.03.2020 в 18:40, radrigo сказал:

odys

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

Расширить  

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

$social_tags['image'] = $socimgarticle;

на

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

 

Ссылка на сообщение
Поделиться на других сайтах
  01.03.2020 в 18:40, 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

  • Нравится 1
  • Поддерживаю 1
  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах
  • 9 месяцев спустя...

odys, скажите, при каких обстоятельствах count($soctimage) больше 1?

Если дополнительное поле "Загружаемое изображение", то $xfieldsdata['img'] вроде всегда выводит имя одной картинки

 

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...
  06.05.2021 в 12:45, galabba сказал:

А можно как-то вывести только первую картинку из доп. поля "Галерея изображений"? Они выводятся все через запятую.

Расширить  

Должно работать. Не забудьте заменить img на название своего дополнительного поля.

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>og:image</name>
	<description>Картинка в meta из доп. поля</description>
	<icon></icon>
	<version></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']);
	$socimgarticle = $config['http_home_url'] . 'uploads/posts/' . $soctimage[0];
} else {
	$socimgarticle = $images;

	if (count($socimgarticle)) {
		$socimgarticle = str_replace("/thumbs/", "/", $socimgarticle[0]);
		$socimgarticle = str_replace("/medium/", "/", $socimgarticle);
	} else {
		$socimgarticle = $config['http_home_url'] . 'uploads/kanaspo.png';
	}
}
$social_tags['image'] = $socimgarticle;]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

Изменено пользователем radrigo
Ссылка на сообщение
Поделиться на других сайтах
  06.05.2021 в 12:45, galabba сказал:

А можно как-то вывести только первую картинку из доп. поля "Галерея изображений"? Они выводятся все через запятую.

Расширить  

Доработал, чтобы не возникало проблем, если у картинки будет описание

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>og:image</name>
	<description>Картинка в meta из доп. поля</description>
	<icon></icon>
	<version></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']);
	$soctimage = explode('|', $soctimage[0]);
	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/", "/", $socimgarticle[0]);
		$socimgarticle = str_replace("/medium/", "/", $socimgarticle);
	} else {
		$socimgarticle = $config['http_home_url'] . 'uploads/kanaspo.png';
	}
}
$social_tags['image'] = $socimgarticle;]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...
  06.05.2021 в 19:20, radrigo сказал:

Доработал, чтобы не возникало проблем, если у картинки будет описание

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>og:image</name>
	<description>Картинка в meta из доп. поля</description>
	<icon></icon>
	<version></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']);
	$soctimage = explode('|', $soctimage[0]);
	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/", "/", $socimgarticle[0]);
		$socimgarticle = str_replace("/medium/", "/", $socimgarticle);
	} else {
		$socimgarticle = $config['http_home_url'] . 'uploads/kanaspo.png';
	}
}
$social_tags['image'] = $socimgarticle;]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

Расширить  

<meta property="og:image" content="https://******.com/uploads/posts/https://******.com/uploads/posts/2023-04/e6a0ec6a9c09466334ac316afdacbd46.jpg">  почему две ссылки вместе липнут

Ссылка на сообщение
Поделиться на других сайтах
  16.04.2023 в 17:33, xarvin сказал:

<meta property="og:image" content="https://******.com/uploads/posts/https://******.com/uploads/posts/2023-04/e6a0ec6a9c09466334ac316afdacbd46.jpg">  почему две ссылки вместе липнут

Расширить  

Потому, что в тексте новости не относительная ссылка на картинку, а полная.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...