0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 4250 Просмотров
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Здравствуйте! Я админ сайта w202club.ru - это сайт автоклуба. Не так давно появилась необходимость создания доски объявлений по продаже определенных моделей автомобилей.
Во-первых, хотел поблагодарить разработчиков за AutoBB! Именно из-за нее начал изучать jooml'y  ^-^ Потрясающий компонент!

Ну и сразу-же с вопросом.. Поиск курил - но нет там ничего по моей теме, да и тема достаточно специфическая. Я бы хотел (очень-очень  ^-^) что-бы вместо уменьшеной фотографии в списке объявлений выводилось определенное изображение, исходя из сочетания цвет автомобиля+тип кузова.
Тоесть, предположим, что есть 2 типа кузова и 3 типа цвета = итого имеем 6 изображений. Надеюсь, идея понятна - объяснил как смог))
Понимаю, что необходимо копать php и скорее всего именно autobb.php и autobb.html.php. Но, к сожалению не могу похвастаться отличным знанием этого языка (я и сайт-то свой на простом html+css+javascript сделал).
Не могли бы Вы накидать мне код, каким образом это можно воплатить в жизнь?

ps: заранее благодарен, еще раз спасибо авторам за AutoBB  *DRINK*
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #1 : 22.11.2009, 13:31:44 »
Все не так просто, в списке объявлений тип кузова не запрашивается из базы, помимо простой проверки вам еще нужно будет переписывать запрос к базе.
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #2 : 22.11.2009, 13:36:35 »
Поскольку буквально вчера делал похожее, могу поделиться:
autobb.php в функции:
Код
function listMessages( $category=0 ) {

нужно заменить запрос на:

Код
$query = "SELECT a.*, a.mileage*(1 + a.mileage_unit*0.609) as metric_mileage, a.mileage*(1 - (1 - a.mileage_unit)*0.3785) as english_mileage,"
."\n p.id as photo_id, count(p.id) as photo_count, v.itemid as vendor_itemid, v.title as vendortitle, m.itemid as model_itemid, m.title as modeltitle, c.title as colortitle,"
."\n cur.sign as currency_sign, a.price*cur.rate as price_in_rur, DATE_FORMAT(a.modifyDate, '%a, %d %b %Y %T GMT') as rfcDate";
$query .= ", ct.title as city_title, r.title as region_title, b.title as body_title ";
if ($id) {
$query .=", expirationDate, published";
}
$query .= "\n FROM #__autobb_messages AS a"
."\n LEFT JOIN #__autobb_photos AS p"
."\n ON a.id=p.msgid"
."\n LEFT JOIN #__autobb_vendors AS v"
."\n ON a.vendor=v.id"
."\n LEFT JOIN #__autobb_models AS m"
."\n ON a.model=m.id"
."\n LEFT JOIN #__autobb_colors AS c"
."\n ON a.color=c.id"
."\n LEFT JOIN #__autobb_bodies as b"
."\n ON b.id=a.bodytype"
."\n LEFT JOIN #__autobb_currency AS cur"
."\n ON a.currency=cur.id";

Потом в вместо вывода маленькой фотки делайте проверку, зная что:
$row->color_title - это цвет
$row->bodytype - это тип кузова

И в зависимости от значения этих переменных выводите вместо иконки ваши картинки.
« Последнее редактирование: 15.12.2009, 15:10:15 от Alex Revo »
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #3 : 22.11.2009, 17:19:33 »
спасибо!
и еще один вопрос по этой же теме, но уже скорее не как к разработчику, а как к человеку, знающему php  ^-^
Подскажите, пожалуйста еще как оформить правильно проверку.
Насколько я понимаю, должно быть что-то вроде
ЕСЛИ ЦВЕТ "белый" то   ЕСЛИ КУЗОВ "седан" ТО изображение1_1 ЕСЛИ КУЗОВ "универсал" ТО изображение1_2
ЕСЛИ ЦВЕТ "синий" то   ЕСЛИ КУЗОВ "седан" ТО изображение2_1 ЕСЛИ КУЗОВ "универсал" ТО изображение2_2
но как это реализовать в php не представляю, дальше чем if($row->color_title) echo "<img src=1.gif>" я не продвинулся...
Если предположить, что есть "белый" и "синий" цвет и "седан" и "универсал"", как узнать какое значение у какой переменной? и при разных сочетаниях выводить разные изображения?

Прошу прощения за глупые вопросы..
ps: пошлете читать учебники по php - не обижусь  ;) Просто хочется получить результат как можно скорее, а уж потом вдаваться во все детали и заниматься настройкой со спокойной душой)))
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #4 : 22.11.2009, 17:26:25 »
Алгоритм скажу чуть позже, пока же почитайте о конструкциях switch case
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #5 : 22.11.2009, 17:35:28 »
Хотя нет, можно сделать все намного проще.
Цвет и кузов - это в базе просто цифра. Если их поставить рядом, то мы получим условный код картинки.

т.е. вам достаточно будет вставить:
<img src="/components/com_autobb/imahes/?php echo $row->color.''.$row-body;?>.jpg"/>

Т.е. для каждого сочетания достаточно сделать и положить в папку рисунок с именем $row->color.'здесь не двойная, а одинарные кавычки'.$row-body[.jpg]

Это будет и проще и быстрее, нежели говорить в коде кучу проверок.
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #6 : 22.11.2009, 19:30:44 »
Отличная идея!!
так и сделал, только теперь новая проблема - переменная $row-body пустая..(( тоесть вставил строку
<img src="/components/com_autobb/imahes/<?php echo $row->color.'a'.$row->body;?>.jpg"/>
но страница обращается к 1a.jpg. Тоесть переменной по кузову нету (((
в autobb.php прописал все как сказали.. может еще где что добавить надо?
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #7 : 22.11.2009, 19:55:46 »
исправьте на $row->bodytype;
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #8 : 22.11.2009, 21:28:14 »
исправил, все заработало.
Большое спасибо за помощь!
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #9 : 09.12.2009, 20:41:46 »
В продолжение темы... Периодически возникает следующая проблема: вышеуказанные изображения встают не на свое место, а выстраиваются столбцом перед началом наблицы... Проблема возникает и исчезает сама собой - решается перезагрузкой страницы.. Никакой логики ее появления не заметил. Для наглядности прикрепляю изображения.
Должно быть (так и бывает в 80% случаях)


Бывает (в остальных, гадских, 20%)
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #10 : 09.12.2009, 23:43:12 »
нужно по коду поставить отладочные сообщения и смотреть
так действительно непонятно почему
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #11 : 10.12.2009, 20:13:17 »
нужно по коду поставить отладочные сообщения и смотреть
прошу прощения за глупые вопрос, а как это сделать? :)
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #12 : 11.12.2009, 11:08:20 »
вставлять echo со значениями переменных например
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: Изображение в списке объявлений
« Ответ #13 : 11.12.2009, 11:54:49 »
Если данные являются массивом, то:

Код
print_r( ... );
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Изображение в списке объявлений
« Ответ #14 : 16.12.2009, 12:21:25 »
Вставил код запроса. Теперь например пишувместо
$row->color_title  $row->bodytype - в таблице объявлений ничего не менется - выводится цвет. Может не так что делаю. Подскажите  пожалуйста!
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #15 : 16.12.2009, 20:42:36 »
Может не туда вставили?
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Изображение в списке объявлений
« Ответ #16 : 16.12.2009, 23:55:37 »
Может не туда вставили?
заменил код, который был точ в точ как этот кроме bodytype. Я  только сейчас кажется понял - наверное дело все в кешировании, уж оч.долго все происходит. Например меняю в настройках путь к файлу, так это проявится мин через 10-15. Может кеш пока отключить?Или еще есть решение?
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #17 : 16.12.2009, 23:57:50 »
Очищать кеш после изменений и смотреть что получается)
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #18 : 19.12.2009, 18:08:44 »
Продолжу... После того, как было добавлено 10-е объявление проблема описаная выше стала постоянной..
Посмотрите, может что посоветуете... http://nrzkvo.ru/joomla
*

[202]Denis

  • Новичок
  • 9
  • 0 / 0
Re: Изображение в списке объявлений
« Ответ #19 : 19.12.2009, 20:33:18 »
Все, извиняюсь за беспокойство.. Была ошибка с тегами <td>
Исправил, все заработало..
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Изображение в списке объявлений
« Ответ #20 : 19.12.2009, 20:52:15 »
да, похоже где-то не закрыт тег (и)
в опере нормально, в ИЕ глючит
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Граббинг объявлений

Автор z0m8ie

Ответов: 34
Просмотров: 21241
Последний ответ 17.04.2015, 14:06:21
от delchev
Вывод объявлений доски AUTO BB

Автор Жуковский

Ответов: 1
Просмотров: 1917
Последний ответ 07.09.2012, 07:44:25
от Жуковский
После 100 объявлений все сбивается.

Автор digor1

Ответов: 0
Просмотров: 1884
Последний ответ 17.03.2012, 20:42:24
от digor1
Проблема с публикацией объявлений AutoBB

Автор digor1

Ответов: 11
Просмотров: 2467
Последний ответ 14.02.2012, 01:33:05
от Alex Revo
Модуль последних объявлений

Автор hamer

Ответов: 3
Просмотров: 3760
Последний ответ 06.02.2012, 19:09:52
от hamer