Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

#1 2014-03-09 22: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 22:43:40)

Вне форума

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

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

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

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

Отредактировано irbees2008 (2014-03-10 08:04:42)

Вне форума

#3 2014-03-10 12: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 14: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 14:19:50

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

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

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

Вне форума

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

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

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

infinity237 пишет:

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

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

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

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

Вне форума

#7 2014-03-10 14: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 15:35:17

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

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

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

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.012 сек, 7 запросов выполнено - Использовано памяти: 539.2 Кбайт (Пик: 560.2 Кбайт) ]