Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

listQuery: получить путь к картинке

26.04.2017, 23:32
Дмитрий
Дмитрий
Дмитрий

Зарегистрирован:
2015-07-31
Сообщений: 53

Уважаемые знатоки!
Вроде бы простой вопрос, но.. Создал в системных таблицах для подразделов поле под картинку "Image", что, собственно, не редкость. Но! Вывести мне ее надо не в шаблоне навигации, а в запросе listQuery.
Вот такой самый простой запрос:
<?= listQuery("select `Subdivision_Name`, `Hidden_URL`, `Image` from Subdivision", "\$data[Image]" ?>
Выводит запись из БД как есть: "collection-1.jpg:image/jpeg:7342:7/collection_1.jpg"
Как из этого чуда получить реальный путь к файлу на диске? По идее есть функция nc_file_path(),
если решение в ней, то как передать в нее id записи из массива $data?
28.04.2017, 22:05
Дмитрий
Дмитрий
Дмитрий

Зарегистрирован:
2015-07-31
Сообщений: 53

Охо хо.. коль уж все такие буки, решил сам) Может, кому пригодится. Собственно, ларчик просто открывался. Вместо listQuery используем db->query(). Загоняем результат в массив, а там уж пербором делаем с ним все что хотим. Код примерно такой вот:
$nc_core->db->query("SELECT Subdivision_ID, Hidden_URL, Subdivision_Name, Image FROM `Subdivision` '" );
$arr = $nc_core->db->last_result;
$catalog = "";
if (!empty($arr)) {
foreach ($arr as $row) {
$path = nc_file_path('Subdivision', $row->Subdivision_ID ,'Image');
$catalog .= " <img src='" . $path . "' alt='" . $row->Subdivision_Name . "'>";
}
}
echo $catalog;
03.05.2017, 12:12
Алексей
Алексей Царапкин
Алексей

Зарегистрирован:
2011-11-16
Сообщений: 32

А еще можно кастомизировать функцию. Тоесть в function.inc.php создать копию с другим названием и дописать необходимый функционал, но это уже извращения. =)

Решаю нестандартные задачи
198 196 2017-05-03 12:12:46 14748
Описание проекта