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

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

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

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

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

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

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

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

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

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

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

я забыл 😕

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

 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

odys

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

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

$social_tags['image'] = $socimgarticle;

на

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

 

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

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

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

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

 

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...
5 часов назад, 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
Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, 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>

 

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

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

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

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

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

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

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

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

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

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