среда, 12 января 2011 г.

Vamshop - прикрутить фотогалерею.

Вот возникла задача прикрутить фотогалерею для магазина vamshop.
Примерно так: http://photo.from-ussr.com/
Чтобы разделы фотогалереи выводились на главной странице магазина, вот так (справа): http://www.from-ussr.com/

Итак, начнем. Для начала скачаем и установим собственно фотогалерею. Мне понравилась вот эта: http://www.4homepages.de/. В интернете не проблема найти ее на русском языке. Сама галерея бесплатна. Устанавливаем галерею, использовав ту же базу , на которой установлен Vamshop. Для удобства не забываем оставить префикс для таблиц галереи, например "4images_".

После установки, редактируем шаблон галереи, так чтобы он стал похож на шаблон нашего магазина. Тут никаких сложностей не возникнет - измените header и footer, а затем уберите логотип 4images и прочие ненужные вещи с внутренних страниц. Отредактируйте/добавьте стили. Так же, рекомендую добавить в файл стилей шаблона галереи строку: img {max-width:700px;} где 700 px - ширина рабочей области вашей галереи. Иначе будет "рваться" дизайн при просмотре больших картинок. С настройкми самой галереи так же, не должно возникнуть никаких проблем.

Теперь самое интересное: добавляем категории галереи на главную магазина. Для этого создаем новый бокс для Vamshop (процесс подробно описан в документации). В данном примере название бокса: Photo (обратите на это внимание). Далее - код бокса для photo.php:


$box = new vamTemplate;

$box->assign('language', $_SESSION['language']);
// set cache ID

$box->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

$box_content = '';
$topics_query2 = "SET CHARACTER SET cp1251";
$topics_query2 = vamDBquery($topics_query2);
$topics_query2 = "select cat_id, cat_name from 4images_categories WHERE cat_parent_id='0'";
$topics_query2 = vamDBquery($topics_query2);
while ($row2 = vam_db_fetch_array($topics_query2,true)) {$box_content .='< a href="http://www.from-ussr.com/gallery/categories.php?cat_id='.$row2['cat_id'].'"><b>» ';$box_content .= $row2['cat_name']; $box_content .= '</b></a><br />';


$topics_query1 = "select cat_id, cat_name from 4images_categories WHERE cat_parent_id='".$row2['cat_id']."'";
$topics_query1 = vamDBquery($topics_query1);
while ($row1 = vam_db_fetch_array($topics_query1,true)) {$box_content .='<a href="http://www.from-ussr.com/gallery/categories.php?cat_id='.$row1['cat_id'].'">- ';$box_content .= $row1['cat_name']; $box_content .= '</a><br />';}
}

$topics_query = "SET CHARACTER SET utf8";
$topics_query = vamDBquery($topics_query);

$box->assign('BOX_CONTENT', $box_content);



if (!$cache) {
$box_articles = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_photo.html');
} else {
$box_articles = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_photo.html', $cache_id);
}

$vamTemplate->assign('box_PHOTO',$box_photo);
----------------------------------------------------------------------------
Обратите внимание на абсолютные ссылки типа http://www.from-ussr.com/gallery/ - естественно, они должны быть заменены на ваш путь к галерее. Так же, обратите внимание на строки:

$topics_query2 = "SET CHARACTER SET cp1251";
$topics_query2 = vamDBquery($topics_query2);
и
$topics_query = "SET CHARACTER SET utf8";
$topics_query = vamDBquery($topics_query);

Их пришлось применить, так как несмотря на настройки при установке моя галерея работает в cp1251 вместо utf-8. Вам они, возможно, не понадобятся. Шаблон бокса редактируйте на свое усмотрение. Вот собственно и все. Надеемся, данная информация была вам полезна :)

0 коммент.:

Отправить комментарий