Jump to content

Изображение из статьи

Featured Replies

Posted
comment_178512

Парни,выручайте. В категории список статей выглядет так:

1437045959_2022-03-0412-32-46.png.afa3a108f7066ee689033567325577b8.png

Чтобы здесь отображалась картинка из статьи,ее нужно загружать через:

754156055_2022-03-0412-34-54.png.395734f2b3404480797cc512b8cc20a0.png

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

код,отвечающий за вывод изображения:

222733644_2022-03-0412-29-54.png.8b60b6b00f3ceed3caf5982e63694110.png

 

выглядет так

        {{if $row->record_image}}
        <div class='ipsColumn ipsColumn_medium'>
            <div class="cCmsRecord_image">
                <img class="ipsImage" src="{file="$row->_record_image_thumb" extension="cms_Records"}">
                  </div>
        </div>
        <div class='ipsColumn ipsColumn_fluid'>
            {{endif}}

Возможно ли как-то изменить этот код так чтобы выводилось изображение загруженное через редактор?

  • Author
comment_178514

Забыл уточнить что используется FX Pages.

На случай отсутствия Изображения статьи я замутил Изображение-заглушку,типа общей дефолтной no-image.

695300827_2022-03-0413-42-03.png.341c9ed22fa0afa10923919d32b7df69.png

а вот как выдернуть картинку которая загружена через редактор,я хз.

comment_178543
3 часа назад, AHristich сказал:

😭  😭  😭

https://www.php.net/manual/ru/function.preg-match.php
Регулярным выражением можно достать ссылку изображения из поля с основным контентом
Этот код:

        {{if $row->record_image}}
        <div class='ipsColumn ipsColumn_medium'>
            <div class="cCmsRecord_image">
                <img class="ipsImage" src="{file="$row->_record_image_thumb" extension="cms_Records"}">
                  </div>
        </div>
        <div class='ipsColumn ipsColumn_fluid'>
            {{endif}}

Заменить на:

{{if $row->record_image}}
	<div class='ipsColumn ipsColumn_medium'>
		<div class="cCmsRecord_image">
			<img class="ipsImage" src="{file="$row->_record_image_thumb" extension="cms_Records"}">
		</div>
	</div>
	<div class='ipsColumn ipsColumn_fluid'>
{{else}}
	{{$field_content = 'field_'.$database->field_content; $field_content = $record->$field_content;}}
	{{preg_match( '#<___base_url___>\S+(?:jpg|jpeg|png|webp)#', $field_content, $image_url );}}
	{{$image_url = str_replace('<___base_url___>/', \IPS\Settings::i()->base_url, $image_url[0]);}}
	<div class='ipsColumn ipsColumn_medium'>
		<div class="cCmsRecord_image">
			<img class='ipsImage' src='{file="$image_url" extension="cms_Records"}'>
		</div>
	</div>
	<div class='ipsColumn ipsColumn_fluid'>
{{endif}}

Код не проверял, написал на коленке

  • Author
comment_178544

К сожалению не фурычит

1260647944_2022-03-0520-50-57.png.3698c735b8e4bb748bf08a348408ccae.png

Ссылка на картинку получается ввиде <img class="ipsImage" src="https://site.ru/uploads/">

comment_178545
17 минут назад, AHristich сказал:

К сожалению не фурычит

не обратил внимания на шаблон из которого ты предоставил код
Это для entry:

{{if $record->record_image}}
	<div class='ipsColumn ipsColumn_medium'>
		<div class="cCmsRecord_image">
			<img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">
		</div>
	</div>
	<div class='ipsColumn ipsColumn_fluid'>
{{else}}
	{{$field_content = 'field_'.$database->field_content; $field_content = $record->$field_content;}}
	{{preg_match( '#<___base_url___>\S+(?:jpg|jpeg|png|webp)#', $field_content, $image_url );}}
	{{$image_url = str_replace('<___base_url___>/', \IPS\Settings::i()->base_url, $image_url[0]);}}
	<div class='ipsColumn ipsColumn_medium'>
		<div class="cCmsRecord_image">
			<img class='ipsImage' src='{file="$image_url" extension="cms_Records"}'>
		</div>
	</div>
	<div class='ipsColumn ipsColumn_fluid'>
{{endif}}

Этот для шаблона recordRow:

{{if $row->record_image}}
	<div class='ipsColumn ipsColumn_medium'>
		<div class="cCmsRecord_image">
			<img class="ipsImage" src="{file="$row->_record_image_thumb" extension="cms_Records"}">
		</div>
	</div>
	<div class='ipsColumn ipsColumn_fluid'>
{{else}}
	{{$field_content = 'field_'.$row->database()->field_content; $field_content = $row->$field_content;}}
	{{preg_match( '#<___base_url___>\S+(?:jpg|jpeg|png|webp)#', $field_content, $image_url );}}
	{{$image_url = str_replace('<___base_url___>/', \IPS\Settings::i()->base_url, $image_url[0]);}}
	<div class='ipsColumn ipsColumn_medium'>
		<div class="cCmsRecord_image">
			<img class='ipsImage' src='{file="$image_url" extension="cms_Records"}'>
		</div>
	</div>
	<div class='ipsColumn ipsColumn_fluid'>
{{endif}}

 

  • Author
comment_178554

ZIKURIK  Спасибо за решение, впринципе разобрался чего/куда/зачем. Но как-то некорректно работает,через раз.

Создаешь новую запись,загружаешь фото,вставляешь и если фото идет ДО текста ,то в превью статьи не выводится ни она ни фото-заглушка.Если при редактировании статьи над фото разместить текст,даже из одного слова,то в превью выводится,если удалить то не выводится заглушка,хотя при написании новой статьи без изображений заглушка выводится.

Мозг уже взорвался конкретно,щас соберу его и буду дальше кумекать...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.