Как сделать превью используя плагин «Main Preview»? [Инструкция]

Для превью использовался плагин «Main Preview».

Вот, что должно примерно получиться у вас:


Настраиваем плагин
В config.php плагина «Main Preview» находим
$config['size_images_preview']=array(
	/*
	array(
		'w' => 100,
		'h' => 100,
		'crop' => true,
	)
	*/

убираем
/*,*/
и получаем:
$config['size_images_preview']=array(
	array(
		'w' => 100,
		'h' => 100,
		'crop' => true,
	)
);

так же нужно поменять значения:
'w' => 100,
'h' => 100,

на ваши.

После чего незабываем менять значение 'w' в коде который я буду использовать ниже:
<img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('100crop')}" align="left" alt="" />

вместо
('100crop')}
вставляйте свое значение.

Отбираем файлы для работы
Работать мы будем со следующими файлами из шаблона: topic_link.tpl, topic_photoset.tpl, topic_topic.tpl, topic_question.tpl

Редактируем файлы
В topic_topic.tpl и topic_photoset.tpl заменяем
{$oTopic->getTextShort()}

на
<img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('100crop')}" align="left" alt="" />
		{$oTopic->getTextShort()|strip_tags:true}


В topic_link.tpl и topic_question.tpl заменяем
{$oTopic->getText()}

на
{if $bTopicList}
      <img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('100crop')}" align="left" alt="" />
    {/if}
		{$oTopic->getText()|strip_tags:true}


Если хотим убрать с главной фотку из фоттосета и опрос, то
В topic_photoset.tpl находим
<div class="topic-photo-preview" id="photoset-main-preview-{$oTopic->getId()}" onclick="window.location='{$oTopic->getUrl()}#photoset'">
		{assign var=oMainPhoto value=$oTopic->getPhotosetMainPhoto()}
		<div class="topic-photo-count" id="photoset-photo-count-{$oTopic->getId()}" onclick="window.location='{$oTopic->getUrl()}#photoset'">{$oTopic->getPhotosetCount()} {$aLang.topic_photoset_photos}</div>
		{if $oMainPhoto->getDescription()}
			<div class="topic-photo-desc" id="photoset-photo-desc-{$oTopic->getId()}">{$oTopic->getTextShort()|strip_tags|truncate:200:"..."}</div>
		{/if}
		<img src="{$oMainPhoto->getWebPath(500)}" alt="image" id="photoset-main-image-{$oTopic->getId()}" />
	</div>

и оборачиваем в
{if !$bTopicList} ... {/if}


В topic_question.tpl находим
<div id="topic_question_area_{$oTopic->getId()}" class="poll">
			{if !$oTopic->getUserQuestionIsVote()}
				<div class="poll-vote">
					{foreach from=$oTopic->getQuestionAnswers() key=key item=aAnswer}
						<dl>
							<dt><a href="#" onclick="ls.poll.vote({$oTopic->getId()},{$key}); return false;">{$aLang.social_poll_vote}</a></dt>
							<dd>{$aAnswer.text|escape:'html'}</dd>
						</dl>
					{/foreach}
				</div>
				
				<a href="#" onclick="ls.poll.vote({$oTopic->getId()},-1); return false;">{$aLang.topic_question_abstain}</a>
			{else}
				{include file='question_result.tpl'}			
			{/if}
		</div>

оборачиваем в
{if !$bTopicList} ... {/if}


После проделанных операций не забывай почистить кэш.

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

36 комментариев

avatar
Смотри придумал!

{if $bTopicList}
    <img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('160crop')}" align="left" alt="" />
{/if}


Тока я не знаю, правильно ли по структуре я это написал.
avatar
я пробовал, но мне не помогло.
avatar
Так у меня сейчас работает. Я потестил.

В topic_part_header.tpl в самом конце файла, но перед я вставил. Вот так:


			</ul>
		</div>
    
    {if $bTopicList}
      <img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('160crop')}" align="left" alt="" />
    {/if}
	</header>
avatar
Я себе в итоге вот так сделал.


    {if $sAction=='index'}
      <img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('100crop')}">
    {/if}
avatar
Кстати у тебя в превью есть alt.

<img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('160crop')}" align="left" alt="" />


Как ты его вставляешь? У меня alt'ов нет, а хочется.
avatar
Я им не пользуюсь. Может добрые программисты подскажут тебе=)
avatar
А то есть это само так, ты в плагине ничего не менял? Странно у меня в превью нету alt.
avatar
У меня его тоже нету.
Ап. темке. Решение так и не нашел(
avatar
Я как понимаю, если купить шаблон Synio можно найти решение в его файлах)
avatar
Synio дефолтный шаблон новой ветки ЛС.
avatar
А так у тебя старый Livestreet? Все фитчи, что я тебе скидывал, я пробывал на версии 1.0.1.
avatar
У меня новая. Просто вы написали про
купить шаблон Synio
, но он бесплатный.
avatar
Synio Flow я имел в виду. Если у тебя новая условия, которые работают у меня должны прекрасно работать и у тебя. Наверняка что-то не так вписываешь.
avatar
Разобрался. Я просто тупил=)
avatar
Для всех кто желает у себя на сайте сделать превью отредактировал пост и сделал из него Инструкцию
avatar
Данный код
{$oTopic->getTextShort()|strip_tags:true}
отключает теги, а как можно отключить только картинки (img)в привью?
avatar
Тоже самое интересутет. К примеру теги видео не работают, а надо, если превью не требуется для топика.
avatar
Будет наверное что то вроде strip_tags(''); только как это правильно выразить…
avatar
А чего-то у меня всё наоборот происходит: превьюшки, которые вручную были прописаны в тексте, после исправлений, указанных автором ТПЛ-ов исчезли)), а новых не появилось((.
avatar
и у меня так же
avatar
У меня все работает. Если у вас, что-то не работает или работает некорректно, то ищите проблему в своем шаблоне.
avatar
Доброго времени суток! Установил плагин для генерации превьюшек. Но что-то не так, картинок просто нет, генерация проходит успешно. Адрес сайта warboys.ru Заранее спасибо.
  • TANG
  • 0
avatar
А вы сделали, то что описано выше? Плагин просто их генерирует. Нужно еще шаблоне место для показа прописать.
avatar
да
avatar
Есть возможность автокропа НЕквадратных изображений, а скажем 250х175?
avatar
есть
avatar
А все таки, как оставить все теги в тексте, кроме тегов изображения, ну или видео к пример, кроме определенных тегов оставить все остальные, а то не красиво.
avatar
У меня почему то после перехода с 0.5.1 на 1.0.2 такую хрень выдает при поиске и конвертации превью из админки
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 64 bytes) in /..../ptzonline.ru/engine/classes/Engine.class.php on line 558 Выделенный сервер, память для скриптов 1Gb, общая оперативная память 16Gb…

Главное при конвертации к новым размерам из конфига пишет такое:
Переконвертировано топиков 7543
А поиск и автоматическую генерацию выдает вышеописанную ошибку. Кто нибудь понимает что происходит?
avatar
Реально заебало вот это Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 32 bytes) in /.../ptzonline.ru/engine/lib/external/DklabCache/Cache/Backend/TagEmuWrapper.php on line 133… Ну что это за хуйня? Ort и понимающие люди, ну помогите пожалуйста:)
avatar
А как сделать так чтобы не было обрезания… а просто все изображение в своих же пропорциях подстраивалось по определенный скажем квадрат Типо такого
avatar
Типо ширина фиксированная а высота исходит из пропорций самого изображения!
avatar
array(
                'w' => 250,
                'h' => null,
                'crop' => false,
        )
avatar
Ну нет! Ничего не выходит… превью к топикам вообще нет… исчезли… только названия и инфа выходит а изображения из топика в пропорциях нету!
avatar
Ах нет все работает… просто надо было просто поменять мое
src="{$oTopic->getPreviewImageWebPath('199crop')}"

на
src="{$oTopic->getPreviewImageWebPath('199')}"

Только почему к тем топикам у которых нет картинки выводится пустое какое то место
avatar
Кстати вопрос, а если у меня есть изображения 2х видов: 200crop и 300crop. Как задать условие, чтобы в превью подгружалось то, что есть? $oTopic->getPreviewImageWebPath('230crop') или $oTopic->getPreviewImageWebPath('300crop') ??
avatar
Решил проблему выставив условие по времени. Т.е. с определенной даты включил публикацию превью в хорошем разрешении.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.