Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
toledos
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 24
1

Как вытащить данные из страницы в инфоблоке

24.02.2014, 15:06. Просмотров 2288. Ответов 18
Метки нет (Все метки)

Всем привет. Народ, подскажите плз как быть.

У меня есть обычный ИБ - новости. Там в визуальном редакторе я загружаю текст новости и в тексте вставляю картинку.

Есть пара вопросов:

1. Как вытащить (при выводе шаблона компонента) картинку из самой новости ? Я хочу ее сделать на главной странице сайта как превью, именно картинку из тела новости, что бы не загружать детальную, так будет меньше телодвижений.

2. Как вывести в качестве превью (тоже в шаблоне компонента на главной) начало текста новости (например первые 80 символов), это будет превью текста. Помогите плз.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 15:06
Ответы с готовыми решениями:

Как дублировать раздел в инфоблоке
Добрый день! подскажите как продублировать раздел в каталоге?

Каракули в инфоблоке
Ребят, подскажите плз, в каком файле слетела кодировка? Если такие каракули в...

Картинки в инфоблоке
Подскажите пожалуйста! Картинки для каждого элемента каталога загружаются...

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

Изменить длину заголовков новостей в инфоблоке
В общем ситуация такая - вывожу на главную 8 рубрик, по 4 новости с превью...

18
Flan
52 / 53 / 3
Регистрация: 12.03.2010
Сообщений: 212
24.02.2014, 16:31 2
Зачем вообще использовать визуальный редактор? И почему вы не хотите придерживаться структуры элементов ИБ? Заполняйте поля анонс,картинка для анонса,детальный текст - и вам будет счастье.
0
toledos
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 24
24.02.2014, 16:38  [ТС] 3
Ну а как не использовать визуальный редактор? Вы все статьи и новости через текст оформляете чтоли или как html вручную теги пишите?

И вообще структура элементов ИБ у Битрикса идиотская. Я только начал его изучать, перешел на него с WP так там я вставил картинку в пост с текстом и на главной в несколько строк сделал из этой же картинки превью и этот же текст вывел как превью новости.
А тут надо заполнить текст анонса, картинку анонса и детальную, потом подробно статью...и только тогда можо сделать себе анонс. Очень долго и не удобно. Я думал есть какое то решение попроще.
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
24.02.2014, 16:42 4
просто так не вытащите, нужно парсить текст. и легче вставить в поле картинка для анонса чем таким парсером заморачиваться. не ищите себе геморой на пятую точку

по второму вопросу так
PHP
1
2
$text = strip_tags($arItem["PREVIEW_TEXT"]);
if (strlen($text)>450){$text = substr ($text, 0,strpos ($text, " ", 450)); echo $text."...";} else {echo $text;}
1
Flan
52 / 53 / 3
Регистрация: 12.03.2010
Сообщений: 212
24.02.2014, 16:49 5
Цитата Сообщение от toledos Посмотреть сообщение
Ну а как не использовать визуальный редактор? Вы все статьи и новости через текст оформляете чтоли или как html вручную теги пишите?
если вручную писать лень, то можно использовать реформатор от Лебедева
http://www.artlebedev.ru/tools/reformator/

Цитата Сообщение от toledos Посмотреть сообщение
И вообще структура элементов ИБ у Битрикса идиотская. Я только начал его изучать, перешел на него с WP так там я вставил картинку в пост с текстом и на главной в несколько строк сделал из этой же картинки превью и этот же текст вывел как превью новости.
Отличная у него структура,надо уметь пользоваться.а вот это сравнение с WP -вообще смешно. Битрикс это CMS совсем другого уровня.
Цитата Сообщение от toledos Посмотреть сообщение
А тут надо заполнить текст анонса, картинку анонса и детальную, потом подробно статью...и только тогда можо сделать себе анонс. Очень долго и не удобно. Я думал есть какое то решение попроще.
такая структура позволяет делать с битриксом очень интересные вещи- надо просто уметь пользоваться и не лениться
0
toledos
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 24
24.02.2014, 16:53  [ТС] 6
tgarl спасибо вам за конкретный ответ. Все заработало!

только DETAIL_TEXT я поставил вместо PREVIEW_TEXT

Добавлено через 2 минуты
Flan не знаю, оно реально бесит пока меня только. Одна новость по сравнению с другими движками на Битрикс добавляется намного дольше (опять же, потому как заливать надо по 2 копии текста и 2 копии картинки)
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
24.02.2014, 16:53 7
Цитата Сообщение от toledos Посмотреть сообщение
перешел на него с WP
не пытайтесь сравнить с другими cms. битрикс это не wp, не джумла и если для вашей задачи удобнее использовать другую систему, которую вы знаете, так посоветуйте работодателю ее. если нет, то принимайте те правила, которые заложены в битрикс. я бы на вордпрес после битрикса не полез бы добровольно - привычка
0
toledos
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 24
24.02.2014, 17:00  [ТС] 8
tgarl я понимаю, что битрикс мощнее и масштабнее и т.д. Но вот если взять обычного контент менеджера, не программиста...то опять повторюсь, много надо данных заполнять в разных местах в Битриксе, которые в других цмс можно выдернуть из одной основной - детальной новости.
0
Flan
52 / 53 / 3
Регистрация: 12.03.2010
Сообщений: 212
24.02.2014, 17:06 9
Цитата Сообщение от toledos Посмотреть сообщение
tgarl я понимаю, что битрикс мощнее и масштабнее и т.д. Но вот если взять обычного контент менеджера, не программиста...то опять повторюсь, много надо данных заполнять в разных местах в Битриксе, которые в других цмс можно выдернуть из одной основной - детальной новости.
Контент - менеджеры не должны заниматься тупым Ctrl-C Ctrl-V - надо ответственно подходить к любой работе.Так как контент -важнейшая часть сайта. И от правильного заполнения зависит правильная работа сайта и удобство его использования. Спешка тут недопустима!
1
toledos
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 24
24.02.2014, 17:08  [ТС] 10
Ребят а подскажите еще 1 вопрос пожалуйста.
Вот вывожу я используя news.list список последних новостей на главной в шаблоне компонента:

PHP
1
2
3
4
5
<?foreach($arResult["ITEMS"] as $index => $arItem):?>
 
.......
 
<a href="<?echo $arItem["DETAIL_PAGE_URL"]?>"><?echo $arItem["NAME"]?></a>
в настройках компонента я поставил сортировку по дате активности и вывод 5 последних новостей.
Скажите плз, а как начать вывод с предпоследней новости ? Т.е. в списке в выводе исключить 1 последнюю (в смысле самую свежую) новость?
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
24.02.2014, 17:15 11
Лучший ответ Сообщение было отмечено toledos как решение

Решение

я бы пошел по такому пути: в настройках указал бы 6 новостей, а в шаблоне нулевую убрал бы

PHP
1
2
3
4
5
<?foreach($arResult["ITEMS"] as $index => $arItem):?>
 if ($index ==0) continue;
.......
 
<a href="<?echo $arItem["DETAIL_PAGE_URL"]?>"><?echo $arItem["NAME"]?></a>
1
rik_i
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 3
25.02.2014, 16:24 12
Добавить в коде одну строчку:
PHP
1
2
3
4
5
6
<?foreach($arResult["ITEMS"] as $index => $arItem):?>
    <?if($index == 0) continue;?>
 
.......
 
<a href="<?echo $arItem["DETAIL_PAGE_URL"]?>"><?echo $arItem["NAME"]?></a>
0
skremet
58 / 58 / 8
Регистрация: 16.07.2010
Сообщений: 273
26.02.2014, 13:54 13
Цитата Сообщение от toledos Посмотреть сообщение
И вообще структура элементов ИБ у Битрикса идиотская. Я только начал его изучать, перешел на него с WP
Подождите немного имейте терпение.
Пройдет сравнительно немного времени и вы скажете на ворлд прес какое же это унылое ...но - битрикс лучшая смс.
По вашему вопросу: Я использую анонс на главной странице сайта название инфоблока и превью картинки к новостям.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
 
<!-- actions and news -->
<div class="newsmain"><?
    ?><div class="newsmain_inner"><?
        foreach($arResult["ITEMS"] as $arItem)
        {
            $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
            $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
            ?><div class="newsmain-item" id="<?=$this->GetEditAreaId($arItem['ID']);?>"><?
                ?><div class="newsmain-item-pic"><?
                    if(is_array($arItem["PREVIEW_PICTURE"]) && $arItem["PREVIEW_PICTURE"]["SRC"]!="")
                    {
    ?><center><a href="<?=$arItem["DETAIL_PAGE_URL"]?>"><img src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>" border="0" alt="<?=$arItem["PREVIEW_PICTURE"]["DESCRIPTION"]?>" title="<?=$arItem["NAME"]?>" /></a></center><?
                    }
                ?></div><?
                ?><div class="newsmain-item-iblock_name"><a href="<?=$arItem["IBLOCK_LINK"]?>"><?=$arItem["IBLOCK_NAME"]?></a></div><?
    ?><div class="newsmain-item-name"><a href="<?=$arItem["DETAIL_PAGE_URL"]?>" title="<?=$arItem["NAME"]?>"><?=$arItem["NAME"]?></a><br /></div><hr style="border:1px #000000 solid;"><?
            ?></div><?
        }
    ?></div><?
?></div>
<!-- actions and news -->
 
<?//echo"<textarea>";print_r($arResult);echo"</textarea>";?>
Нет смысла писать скрипт который будет рубить текст по нужному вам кол-ву знаков. Тут и так всё предусмотрено.
1
toledos
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 24
26.02.2014, 16:42  [ТС] 14
Ну вы показали код который выводит превью картинки только если она задана как анонс картинки, верно?
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
26.02.2014, 16:50 15
Цитата Сообщение от skremet Посмотреть сообщение
Пройдет сравнительно немного времени и вы скажете на ворлд прес какое же это унылое ...но - битрикс лучшая смс.
затем вы изучите ее более глубоко и скажете фуу... пройдет еще немного времени и ваше мнениее опять сменится на какие молодцы эти битриксойды... затем вы изучите ее более глубоко...
в общем круговорот воды в природе)))
0
Itachi261092
Веб-Разработчик
79 / 79 / 9
Регистрация: 23.01.2012
Сообщений: 700
27.02.2014, 11:20 16
toledos, извините что уже после решения проблемы вмешиваюсь, но тут проще было бы настроить шаблон таким образом чтобы картинка загружалась только в анонс, и потом эта же картинка подгружаласьв тексте новости в нужном месте. это решит первую проблему. а вторая решается на уровне цсс. вы просто выводите в превью новости не анонс а детальное описание, и правите цсс с помощью text-overflow. Таким образом достаточно будет 1 раз поправить шаблон и потом жить без горя, забивая только 1 картинку в анонс и 1 детальное описание
0
skremet
58 / 58 / 8
Регистрация: 16.07.2010
Сообщений: 273
27.02.2014, 13:00 17
tgarl,
Цитата Сообщение от tgarl Посмотреть сообщение
Затем вы изучите ее более глубоко и скажете фуу... пройдет еще немного времени и ваше мнениее опять сменится на какие молодцы эти битриксойды... затем вы изучите ее более глубоко...
в общем круговорот воды в природе)))
Странно от вас наблюдать данное сообщение. Вы даёте на форуме тут очень хорошие и правильные ответы. Думаю что система вам нравится.
По мне так чем больше я узнаю битрикс тем больше он мне нравится.
Я устанавливал систему наверное раз 40 на протяжении 5-и лет - и постоянно сносил так как не умел работать с битриксом и просто убивал его удаляя инфоблоки и создавая новые которые потом не работали. Самый главный косяк я не понимал структуры битрикса и логики работы.
Занимаюсь администрированием сайтов уже больше 5-и лет. Наверное клиентов 20 отговорил от битрикса посадив их на такие смс с которыми и работать страшно)))) А теперь пересаживаю всех на битрикс. Уникальная система.
0
Itachi261092
27.02.2014, 13:40
  #18

Не по теме:

skremet, дегенерат!:D я только по началу баттхёртил от него. как только разобрался с принципами работы ИБ, и логикой компонентов - всё сразу стало на свои места. теперь осталось только углубляться в код. мой первый сайт вообще был на редакции старт с требованием организации вывода каталога с продуктами (без функции продажи). Так я по незнанию умудрился организовать эту штуку через не подходящий для этого компонент новости, с дикими костылями в result_modifier'ах (а нужно было использовать каталог, и было бы меньше проблем и бед). Оно до сих пор, уже больше полугода, так работает и не жалуется. на сранице идёт вывод данных из ИБ с сортировками вложенных разделов, и элементов. Полный Pi в общем. Ещё помню вывел в фансибокс превьюхи фоток без использования resizeimgeget с ресайзом css'ом :-[...

0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
27.02.2014, 15:03 19
Цитата Сообщение от skremet Посмотреть сообщение
Странно от вас наблюдать данное сообщение... Думаю что система вам нравится.
Да система мне нравится, но от этого некоторые ее вещи раздражают ужасно
пример: структура свойств инфоблоков у битрикса вертикальная, а иногда нужна горизонтальная и из-за этого приходится ивращаться. и вот когда приходят такие задачи и начинаешь беситься что такая система имеет такой недостаток
0
27.02.2014, 15:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 15:03

Перенести элементы на уровень выше в инфоблоке в Битриксе
Здравствуйте! Имеется инфоблок с 3-мя уровнями вложенности:...

Создать запись в инфоблоке при изменении статуса результата формы
пользователь заполняет вэб форму с заявкой на обучение - форма получает статус...

Как вытащить необходимые данные с спарсенной страницы
Здравствуйте уважаемые участники форума! Есть программа кот. заносит html код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru