Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2014-03-09 23:43:03

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Вытягивать преьвюшку, исходя из оригинальной картинки

Приветствую.
Данные:
Последняя версия svn
Плагин highslide

код на странице полной новости:

<p style="float: left; padding-right: 15px;">
	<a class="highslide" onclick="return hs.expand (this)" href="{{ news.embed.images[0] }}">
		<img border="0" class="nimg" src="{{ news.embed.images[1] }}">
	</a>
</p>
<p>{{ news.short|striptags }}{{ news.full }}</p>

Как видим я убрал вывод картинок из краткой части новости, и вывожу её другим кодом для упрощения процесса форматирования материалов, т.к. первая картинка у меня всегда в одном и том же месте.

Опытным путём определил, что в переменной news.embed.images[0] цифра - порядковый номер картинки, добавленной в новость. И при использовании связки этой конструкции вместе с хайдслайд мне приходится тыкать на добавление в краткую новость как оригинальной, так и уменьшенной копии картинки.
Вопрос заключается в том, какая конструкция скрипта может вытягивать превьюшку, исходя из оригинала? Ну т.е. чтобы в новость я добавлял только полную имагу, а уменьшенную скрипт сам вытягивал. По сути разница только в добавлении /thumb в путь картинки.

Изменено Aaron (2014-03-09 23:43:40)

Не в сети

#2 2014-03-10 08:38:01

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

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

Изменено irbees2008 (2014-03-10 09:04:42)

Не в сети

#3 2014-03-10 13:44:10

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

Как работает процесс формирования news.embed.images[X]:
1. Берется весь текст и внутри него ищутся все вхождения вида img=
2. Формируется массив из таких ссылок.

Соответственно:
1. Если у вас в {{news.embed.images[X]}} ссылки только /uploads/images/ - это сведетельствует только о том, что вы загружаете только оригиналы изображений, без превью или вставляете в новость только полные изображения. Т.е. превью откуда-нивозьмись сами не появятся, их тоже нужно создавать в "Управление изображениями".
2. Если все же уменьшенная копия создается, но просто в теле новости добавляется только ссылка на полное изображение, то для формирования ссылки на уменьшенную копию можно, например, использовать конструкцию вида:

{{ news.embed.images[0]|replace({ '/uploads/images/news/': '/uploads/images/news/thumb/' }) }}

Где news - название категории, куда загружаются изображения

Не в сети

#4 2014-03-10 15:14:16

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

infinity237 пишет:
{{ news.embed.images[0]|replace({ '/uploads/images/news/': '/uploads/images/news/thumb/' }) }}

Где news - название категории, куда загружаются изображения

я так понял этот код выводит именно превьюшку, от полной имаги, то что нужно, но есть другой вопрос: как прописать название каталога, в который загружается имага кодом? категорий у меня порядка 10 и каждая категория имеет одноимённый каталог для картинок. Есть тег вывода названия категории? {category} не подходит - это ссыль

Не в сети

#5 2014-03-10 15:19:50

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

Здесь название категории для изображения не равно названию категории, где находится новость.

Не в сети

#6 2014-03-10 15:26:49

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

infinity237 пишет:

Здесь название категории для изображения не равно названию категории, где находится новость.

ну так я у себя сделал одноимённым категорию и каталог для удобства, поэтому и спрашиваю, что прописать вместе news, чтобы двиг там выводил словом название категории, в которой находится новость? что-то типа

{{ news.embed.images[0]|replace({ '/uploads/images/{{ название_категории }}/': '/uploads/images/{{ название_категории }}/thumb/' }) }}

ну только правильно, тут я как бы синтаксис {{ }} нарушил, но это только для наглядности

Не в сети

#7 2014-03-10 15:31:39

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

{% set img_dir_str = '/uploads/images/'~news.embed.images[0]|split('/')[5]~'/' %}
{% set img_dir_str_rplce = img_dir_str~'thumb/' %}
{{ news.embed.images[0]|replace({ (img_dir_str): img_dir_str_rplce }) }}

Не в сети

#8 2014-03-10 16:35:17

Aaron
Участник
Зарегистрирован: 2013-10-13
Сообщений: 71
Рейтинг :   

Re: Вытягивать преьвюшку, исходя из оригинальной картинки

infinity237, вот, теперь супер )

Не в сети

Подвал раздела

Работает на FluxBB