Помогите обновить доп свойства инфоэлемента

#
Помогите обновить доп свойства инфоэлемента
в ТДС инфосистемы получаю доп свойства элементов, мне нужно совершить над ними действия и записать обратно
$oCore_QueryBuilder_Select = Core_QueryBuilder::select()
    ->from('informationsystem_items')
    ->where('informationsystem_id', '=', 19);
$aRows = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();

// Объект дополнительного свойства с идентификатором 123
$oProperty = Core_Entity::factory('Property', 62);
foreach ($aRows as $aRow => $row) {
    // Массив значений свойства 62 для информационного элемента $informationsystem_item_id
    $aPropertyValues = $oProperty->getValues($row['id']);
    
    $aPropertyValues[$aRow] = $oProperty->createNewValue($row['id']);

    $aPropertyValues[$aRow]->value = '11111';

    $aPropertyValues[$aRow]->save();
}

у меня в базу создается доп свойства, а не перезаписывается!!!
#
Re: Помогите обновить доп свойства инфоэлемента
Сори! Туплю,
$aPropertyValues[$aRow] = $oProperty->createNewValue($row['id']);
лишняя строка...
Модератор
#
Re: Помогите обновить доп свойства инфоэлемента
откуда вообще такая конструкция $aPropertyValues[$aRow]?

Элементы нужно выбирать просто через ORM, а значения конкретного свойства для конкретного элементы правильно, получаете через $oProperty->getValues(), но дальше непонятна логика.
#
Re: Помогите обновить доп свойства инфоэлемента
мне нужно получить доп свойства Инфоэлемента на странице СпискаИнфоэлементов, я не знаю как по другому, если можно пример!

$oCore_QueryBuilder_Select = Core_QueryBuilder::select()
    ->from('informationsystem_items')
    ->where('informationsystem_id', '=', 19);
$aRows = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();


// Объект дополнительного свойства с идентификатором 62 film
$oProperty = Core_Entity::factory('Property', 62);
foreach ($aRows as $aRow => $row) {
    // Массив значений свойства 123 для информационного элемента $informationsystem_item_id
    $aPropertyValues = $oProperty->getValues($row['id']);
    $link = $aPropertyValues[0]->value;
    if (stripos($link,'youtu')){
        strrpos($link,'?v=',1) ? $link= substr(strrchr($link, "="), 1) : $link= substr(strrchr($link, "/"), 1);
        $aPropertyValues[0]->value = $link;
        $aPropertyValues[0]->save();
    }
}

мое рабочее решение
Модератор
#
Re: Помогите обновить доп свойства инфоэлемента
Всех элементом 19-й инфосистемы?
#
Re: Помогите обновить доп свойства инфоэлемента
Ну да!
Доп свойства - это ссылка на ютуб, мне нужно выводить превьюхи видео находясь в разделе site.com/film/ , НЕ переходя на конкретный фильм, например site/film/123
#
Re: Помогите обновить доп свойства инфоэлемента
Еще вопрос! Возможно в XML передавать измененное значения доп свойства не сохраняя в базу?
т.е. есть доп свойства ссылка на видео  https://youtu.be/VIDEO_ID , с которой мне нужно забрать VIDEO_ID и передать в XML, а в базе пусть останется полная ссылка?
#
Re: Помогите обновить доп свойства инфоэлемента
xelaxela13 писал(а):
мне нужно выводить превьюхи видео находясь в разделе site.com/film/ , НЕ переходя на конкретный фильм, например site/film/123

Практика показала что отображение N количество превью с Ютуба на одной странице на прямую подтягивать трафик с Ютуба может привести к зависанию страницы. Так как страница попытается загрузить разные превью с Ютуба а непосредственно трафик может подвисать. Как вариант вы можете по клику на какую ни будь картинку проигрывать видео с Ютуба. Хотя выбор за вами.
xelaxela13 писал(а):
есть доп свойства ссылка на видео  https://youtu.be/VIDEO_ID , с которой мне нужно забрать VIDEO_ID

Вы можете ссылку попробовать парсить таким образом как дата и время парсится в XSL новости, тогда это найти и вырезать только VIDEO_ID
string substring-before(string, string)
string substring-after(string, string)
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Помогите обновить доп свойства инфоэлемента
xelaxela13 писал(а):
Еще вопрос! Возможно в XML передавать измененное значения доп свойства не сохраняя в базу?


так и не решил задачку, возможно ли на лету подменить уже существующее значение в XML???

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