|
|
18.06.2014, 17:56
|
|
alexandr
Осипов Александр
Зарегистрирован: 2012-08-28
Сообщений: 13
|
У меня есть составной компонент, куда сливаются данные из нескольких похожих таблиц (не агрегатор). При выводе картинок, $f_картинка выдает содержимое поля, а не путь. Поскольку данные берутся из нескольких таблиц, nc_file_path тоже не катит (или я ошибаюсь?). Как, не прибегая к колхозу типа регекспов, получить путь из поля картинки?
|
|
|
18.06.2014, 18:23
|
|
Константин
Константин
Зарегистрирован: 2010-07-20
Сообщений: 210
|
а $f_картинка_url что выдаёт?
orlovkn
|
|
|
18.06.2014, 19:38
|
|
Nexwich
Панасин Александр

Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Изучите функцию explode()
Пример
<? $array_img = explode(":",$f_картинка); ?>
<img src='<?=$array_img[3]?>' alt='<?=$array_img[0]?>'>
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
18.06.2014, 19:40
|
|
alexandr
Осипов Александр
Зарегистрирован: 2012-08-28
Сообщений: 13
|
Да что url, что path... Иначе бы зачем nc_file_path нужна была.
|
|
|
18.06.2014, 19:46
|
|
alexandr
Осипов Александр
Зарегистрирован: 2012-08-28
Сообщений: 13
|
Цитата:Изучите функцию explode()
Пример
<? $array_img = explode(":",$f_картинка); ?>
<img src='<?=$array_img[3]?>' alt='<?=$array_img[0]?>'>
Да, но заборно же )
Я на более движковый метод надеялся.
|
|
|
29.06.2014, 14:41
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Если картинка лежит в поле типа "Файл", то вам надо в этот консолидированный компонент сохранять для каждого скопированного объекта три вещи:
1. ID исходного компонента
2. ID объекта в исходном компоненте
2. ID картиночного поля в этом компоненте или имя этого поля.
Потом, зная ID/имя поля, ID товара и ID компонента, применять функцию nc_file_path.
Более правильного решения, если идти "честным" путем, на мой взгляд нет.
А если не придерживаться "честности", то вариант с explode решает почти все ваши вопросы.
|
|
|
29.06.2014, 14:42
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Кстати, в неткате есть встроенная недокументированная функция копирования объектов. Она копирует в том числе и картинки. ;-)
|
|
|
30.06.2014, 11:02
|
|
Константин
Константин
Зарегистрирован: 2010-07-20
Сообщений: 210
|
Руслан, какая?)
orlovkn
|
|
|
02.07.2014, 09:17
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Вот такая:
nc_copy_message($classID, $message, $cc);
Указываете компонент, объект и номер инфоблока, куда надо скопировать объект.
И аналогичная функция есть еще nc_move_message, кажется с такими же параметрами (не копирует, а переносит объект).
Только есть особенность - обе эти функции проверяют права, чтобы они были, кажется, не меньше модераторских. Поэтому если планируете использовать эти функции для обычных пользователей, то нужно скопировать эти функции куда-нибудь к себе и отключить там проверку прав доступа.
Пишите, если не разберетесь - погляжу в своих наработках поточнее, что да как.
|
|
|
02.07.2014, 09:51
|
|
Константин
Константин
Зарегистрирован: 2010-07-20
Сообщений: 210
|
Руслан, спасибо. Поковыряю исходики.
orlovkn
|