Вывести фотографию из БД статьи. Подскажите как?

#1 27 сентября 2014 в 18:35
Переношу сайт с другого движка. там фотографии анонсов хранились в БД, а не как у инстанта просто подставляется id к картинке.

Для решения задачи создал дополнительное поле в компоненте статей — news_image_t2

Как задать условие, чтобы, если это поле заполнено, то в анонс ставить картинку из базы, а если поле пустое, то выводить инстановскую?

очень прошу помочь
#2 28 сентября 2014 в 14:15
сейчас услвоие в модулях прописано так в модулях

  1. {if $article.image}
  2. <div class="mod_tabsnews_image_first">
  3. <a href="{$article.url}" title="{$article.title|escape:'html'}"><img src="/images/photos/medium/{$article.image}"
  4. alt="{$article.title|escape:'html'}"/></a>
  5. </div>
  6. {/if}
а в компоненте так
<img class="photo_thumb_img" src="/images/photos/small/{$con.file}" alt="{$con.title|escape:'html'}" border="0" />

---

или я не там ищу и надо как то править модель компонента?
#3 28 сентября 2014 в 20:01
Может можно экспортом импортом БД (столбец с именами файлов) перенести в новую БД и картинки скачать и перезалить в папку /images/photos/small/ так вроде проще будет
#4 28 сентября 2014 в 21:15
так не проще, ибо еще надо все фотки переименовывать, а их более 5000

проще сделать проверку на заполненность поля, если оно не заполнено, то выводить стандартный инстанта
#5 29 сентября 2014 в 00:04
yury, как бы да можно и так, если поле заполнено то выводить фото из базы данных а если пустое то выводить стандартно ,
или как вариант, для старых записей сделать шаблон с выводом из бд, а для новых с выводом стандартно как в системе, Покрайней мере проблем не вижу для реализации
#6 29 сентября 2014 в 00:36


так не проще, ибо еще надо все фотки переименовывать, а их более 5000
проще сделать проверку на заполненность поля, если оно не заполнено, то выводить стандартный инстанта

yury

Не совсем понял. или ты меня )). Ты же подставишь название файлов в свои статьи или нет. В общем лядно, я бы так сделал чтобы не мудрить с кодом.
#7 29 сентября 2014 в 00:40
Clear, как я понял, он старые картинки использовать хочет из базы данных, а уже новые стандартно как в системе
#8 29 сентября 2014 в 00:47


Clear, как я понял, он старые картинки использовать хочет из базы данных, а уже новые стандартно как в системе

Dim@sik

Вобщем я понял что он хочет… smileХотя я бы в этом случае воспользовался ренеймером и сделал имена файлов как в инстанте. В экселе повозиться придется конечно и с ренеймером, но как вариант должно получиться.

Второй вариант, это спарсить все картинки и заголовки статей, я пользуюсь датаколом. При условии парсинга картинки сделать переименовывание под версию инстанта. Можно и так думаю.
#9 29 сентября 2014 в 00:55
Clear, ну да, но если много статей, то проще с базы данных выводить а в шаблоне поставить условие, если поле с картинкой заполненно то выводить с бд, а если нет то уже как в инстанте
правда редактировать(удалить) старые картинки только ручками придётся или покапать движок и сделать есчё и редактирование
#10 29 сентября 2014 в 00:57


Dim@sik

При обновлении движка все затрется все равно (что еще хуже), поэтому лучше сразу делать нормально. Я второй вариант там прикинул выше ))
#11 29 сентября 2014 в 01:37

Clear, как я понял, он старые картинки использовать хочет из базы данных, а уже новые стандартно как в системе

Dim@sik
все верно.

вот мне помогли вывести в самой статье

// Картинка статьи
if (isset($article['news_image_t1']) && !empty($article['news_image_t1']) && file_exists(PATH.'/images/thumbs/'.$article['news_image_t1'])) {
$article['image'] = '/images/thumbs/'.$article['news_image_t1'];
} else {
$article['image'] = (file_exists(PATH.'/images/photos/medium/article'.$article['id'].'.jpg')? '/images/photos/medium/'.'article'.$article['id'].'.jpg': '');
}

но вот не могу понять как вывести в списке статей и в модуле последних статей
#12 29 сентября 2014 в 01:40

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

Clear
тогда и куча картинок из базы поисковиков повылетает. а мне надобно, чтобы как можно больше сохранить в поисковиках
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.