Добрый день, сообщество!
Следующим кодом пытаюсь полю PREVIEW_PICTURE присвоить значение поля DETAIL_PICTURE. Выдается ошибка
Error: Ошибка сохранения картинки для анонса.
Пробую вместо DETAIL_PICTURE подсунуть значение. Результат тот же.
ЧЯДНТ?
У картинки для анонса в настройках ИБ не стоят никакие галочки, ни обязательность, ни изменение размера. Никакие.
Код |
---|
if (CModule::IncludeModule("iblock")){ $res = CIBlockElement::GetList( Array("ID"=>"DESC"), Array("IBLOCK_ID"=>1, "IBLOCK_TYPE" => "news", "ACTIVE"=>"Y","SECTION_ID"=>'636'), false, false, Array("ID", "IBLOCK_ID", "DETAIL_PICTURE", "PREVIEW_PICTURE", "NAME", "DETAIL_PAGE_URL","SECTION_ID") ); while($ob = $res->GetNextElement()){ $arFields = $ob->GetFields(); $el = new CIBlockElement; if(!$res = $el->Update($arFields["ID"], array('PREVIEW_PICTURE'=>$arFields["DETAIL_PICTURE"]))): echo "Error: ".$el->LAST_ERROR; endif; } } |
Сделал типо комментарии на ИБ (так мне удобно), сделал форму добавления комментария с вот таким обработчиком:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die('Скрипт должен быть запущен в битриксе');
?>
<?
if($APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"]) || ($USER->IsAuthorized()))
{
CModule::IncludeModule('iblock');
$el = new CIBlockElement;
$fields = array(
"DATE_CREATE" => date("d.m.Y H:i:s"),
"DATE_ACTIVE_FROM" => date("d.m.Y H:i:s"),
"IBLOCK_ID" => (int) $_POST['iblockID'],
"NAME" => strip_tags($_POST['authorName']),
"ACTIVE" => "Y",
"PREVIEW_TEXT" => strip_tags($_REQUEST['comment']),
"PREVIEW_PICTURE" => NULL,
"PROPERTY_VALUES" => [
"LINKED_USER" => NULL,
"LINKED_ELEMENT" => $_POST['linkedElement'],
]
);
if ($USER->IsAuthorized()){
$fields['PREVIEW_PICTURE'] = CFile::GetFileArray($USER->GetParam('PERSONAL_PHOTO'));
$fields['PROPERTY_VALUES']['LINKED_USER'] = $USER->GetID();
}
if ($ID = $el->Add($fields)) {
echo "Сохранено";
dump($fields['PREVIEW_PICTURE']);
$rs = CIBlockElement::GetList(array(), array("ID" => $ID), false, false, array("ID", "PREVIEW_PICTURE"));
if($ar = $rs->GetNext())
dump($ar);
//header('Location: '.$_SERVER['HTTP_REFERER']);
} else {
echo '<p>Ошибка при добавлении:<br>'.$el->LAST_ERROR.'</p>';
}
}else{
die('<p>Капча введена неправильно!</p>');
}
?>
Не могу заставить метод add добавить к элементу массив PREVIEW_PICTURE. В первом дампе все нормально, а во втором массива нет:
Как это исправить?
Веб-Разработчик 82 / 82 / 9 Регистрация: 23.01.2012 Сообщений: 701 |
|
1 |
|
Не добавляется картинка анонса в элемент инфоблока29.07.2013, 17:44. Показов 15553. Ответов 7
Здравствуйте уважаемые форумчане, есть такая внезапная проблема. Добавлено через 5 часов 34 минуты
0 |
694 / 534 / 40 Регистрация: 22.06.2009 Сообщений: 1,293 |
|
31.07.2013, 06:40 |
2 |
Места не хватает
0 |
Веб-Разработчик 82 / 82 / 9 Регистрация: 23.01.2012 Сообщений: 701 |
|
31.07.2013, 10:21 [ТС] |
3 |
Alorian, где? как? в другие инфоблоки всё добавляется. с таким же конфигом на локальном серваке тоже работает.
0 |
694 / 534 / 40 Регистрация: 22.06.2009 Сообщений: 1,293 |
|
31.07.2013, 14:31 |
4 |
где? как? в другие инфоблоки всё добавляется Хз тогда.
0 |
Веб-Разработчик 82 / 82 / 9 Регистрация: 23.01.2012 Сообщений: 701 |
|
31.07.2013, 14:48 [ТС] |
5 |
Alorian, в бд тоже нет записи. выводил в шаблоне через echo массив $arResult[«ITEMS»] — поле PICTURE пустое.
0 |
52 / 53 / 3 Регистрация: 12.03.2010 Сообщений: 212 |
|
31.07.2013, 16:58 |
6 |
Может что то с картинкой? Проведите проверку сайта/бд средствами Битрикса. Посмотрите права доступа. Если ничего не поможет — пишите в техподдержку
0 |
Веб-Разработчик 82 / 82 / 9 Регистрация: 23.01.2012 Сообщений: 701 |
|
31.07.2013, 17:47 [ТС] |
7 |
Flan, я разные пробовал. как по ссылкам с других сайтов так и разные картинки из медиабиблиотеки Добавлено через 28 минут Добавлено через 4 минуты
0 |
5 / 5 / 0 Регистрация: 15.04.2017 Сообщений: 23 |
|
07.07.2017, 08:52 |
8 |
такая же проблема
0 |
Что делать, если при импорте или при любых других условиях у вас не записывается свойство картинка анонса?
Как в битриксе заново сгенерировать картинки анонса
Для этого создадим файл в корне сайта, например import.php – в который запишем код:
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule("iblock"); CModule::IncludeModule("file"); $ID = 1;//id инфоблока $arFilter = Array("IBLOCK_ID"=>$ID); $rsEl = CIBlockElement::GetList(Array(), $arFilter); while($arEl = $rsEl->GetNext()){ $el = new CIBlockElement; $arFields = Array(); if($arEl["DETAIL_PICTURE"]){ $arFields['PREVIEW_PICTURE'] = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"] . CFile::GetFileArray($arEl["DETAIL_PICTURE"])["SRC"]); $arFields['PREVIEW_PICTURE']["del"] = "Y"; $el->Update($arEl["ID"], $arFields); } }
Указываем ID информационного блока и после запуска в браузере и окончания выполнения скрипта в поле для анонса запишется та же самая картинка что и в детальном.
Если вам необходимо записать фото в превью с учетом ресайза, то скрипт придется доработать.
Если на вашем сайте необходимо выполнить работу по генерации картинок, свяжитесь со мной.
З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com
Email: dmitriyribka@gmail.com
-
isbaturin
- Сообщения: 113
- Зарегистрирован: 09 мар 2020 08:06
В битрикс можно грузить фото для анонса масштабируя ее до нужных размеров?
Основное фото грузится, а анонс не генерится.
-
TechAdmin
- Администратор
- Сообщения: 4283
- Зарегистрирован: 27 авг 2008 14:30
08 апр 2020 16:40
Анонс должен ресайзиться автоматически самой CMS, если заданы такие настройки для инфоблока.
Программа добавляет только основные фото.
В программе нет функции ресаза.
-
isbaturin
- Сообщения: 113
- Зарегистрирован: 09 мар 2020 08:06
09 апр 2020 08:40
Программа пишет в SQL минуя API, поэтому думаю, что этого не произойдет. Битрикс просто не знает о том, что добавлено фото. В инфоблоке настроена функция делать анонс из детального фото. Если ручками добавлять фото — работает.
Написали скрипт автогенерации анонсов там где пусто…
- Вложения
-
- QIP Shot — Screen 09.04.20 12-39-18.png (41.29 КБ) 1710 просмотров