Overdoze.Ru
Запомнить авторизацию  [?] | Забыли пароль? | Регистрация
Сегодня: 18 октября 2017 г., 06:43:01  
Актуальные версии AVE CMS:   AVE CMS 3.0RC | AVE.CMS 2.09RC2 svn | AVE CMS 2.08 original

раскрутка сайтов

Навигация в магазине от Koobi 6.25 к 6.2 Pure



Стоимость:

0р.

Для тех, кто не ходит на форум старого Овера, или первый раз здесь и вообще не знает, где это. Уважаемый Strannic  собрал для поклонников Кубигемота навигацию магазина от дримовой версии неизвестной Koobi 6.25, надеюсь, она будет Вам полезна!

Уважаемый Strannic 

До января еще далеко, а с навигацией в магазине плоховато ,вот попытался прикрутить навигацию в магазине от 6.25 к 6.2 Pure - получилось ( у меня работает ) , просьба к уважаемым админам( правда уважаемым ) если что не так ткните носом
все делаем на 6.2 Pure , шаблон стандарт
1.Создаем modifier.umlaut.php в \class\tpl\plugins

Код

<?php
function smarty_modifier_umlaut($text)
{
$text = stripslashes($text);
$text = str_replace(array(' & ', '©','®','\''), array(' & ', '©','®','’'), $text);
$text = str_replace(array('€','®','&#196;','&#228;', '&#214;', '&#246;', '&#220;', '&#252;', '&#223;'), array('€', '®', '&#196;', '&#228;', '&#214;', '&#246;', '&#220;', '&#252;', '&#223;'), $text);
return $text;
}

?>


2.Добавляем новые функции в \class\Shop.Class.php
Код

//=================================================================
/// Shopnavigation
//=================================================================
function MyShopNavi($id,&$categs_shop,$categ='',$inarray='')
{
global $db;
global $tmpl;

$tmpl->assign('plim', 100);

//if($_REQUEST['p'] != 'misc') $_REQUEST['categ'] = $_REQUEST['cid'];

$query = $db->Query("SELECT *,catname as Name FROM " . PREFIX . "_shop_cat WHERE parent_id = '0' ORDER BY posi ASC";
while ($item = $query->fetchrow())
{
$item->navop = ($this->get_parentshopcateg($item->parent_id)==0) ? $item->parent_id : $this->get_parentshopcateg($item->parent_id);
$categs_2 = array();

// 1. Ebene
// $item->Icon = (!empty($item->Bild_Navi) && is_file(BASE_DIR . '/uploads/shop/categs/' . $item->Bild_Navi)) ? '<img class="absmiddle" border="0" src="uploads/shop/categs/' _fcksavedurl=""uploads/shop/categs/'" _fcksavedurl=""uploads/shop/categs/'" _fcksavedurl=""uploads/shop/categs/'" _fcksavedurl=""uploads/shop/categs/'" _fcksavedurl=""uploads/shop/categs/'" . $item->Bild_Navi . '" alt="" />' : '<img class="absmiddle" src="theme/'.$GLOBALS['theme'].'/images/shop/navi_no_img.gif" border="0" alt="" />';
$item->Entry = $item->Name;

// 2.Ebene
$query_2 = $db->Query("SELECT *,catname as Name FROM " . PREFIX . "_shop_cat WHERE parent_id = '$item->catid' ORDER BY posi ASC";
if ($query_2->numrows())
{
while ($items_2 = $query_2->fetchrow())
{
$categs_3 = array();
$items_2->Entry = $items_2->Name;

// 3. Ebene
$query_3 = $db->Query("SELECT *,catname as Name FROM " . PREFIX . "_shop_cat WHERE parent_id = '$items_2->catid' ORDER BY posi ASC";
if ($query_3->numrows())
{
while ($items_3 = $query_3->fetchrow())
{
// 4.Ebene
$categs_4 = array();
$query_4 = $db->Query("SELECT *,catname as Name FROM " . PREFIX . "_shop_cat WHERE parent_id = '$items_3->catid' ORDER BY posi ASC";
if ($query_4->numrows())
{
while ($items_4 = $query_4->fetchrow())
{
// 5.Ebene
$categs_5 = array();
$query_5 = $db->Query("SELECT *,catname as Name FROM " . PREFIX . "_shop_cat WHERE parent_id = '$items_4->catid' ORDER BY posi ASC";
if ($query_5->numrows())
{
while ($items_5 = $query_5->fetchrow())
{
array_push($categs_5,$items_5);
}
}

$items_4->Sub4 = $categs_5;
array_push($categs_4,$items_4);
}
}
$items_3->Sub3 = $categs_4;
array_push($categs_3,$items_3);
}
}

$items_2->Sub2 = $categs_3;
array_push($categs_2,$items_2);
}
}
$item->Sub1 = $categs_2;
array_push($categs_shop,$item);
}
return $categs_shop;
}


function get_parentshopcateg($param)
{
global $db;
global $tmpl;

$id = (is_array($param)) ? $param['id'] : $param ;

$parent_id = $id;
$id = 0;
if($parent_id != 0)
{
$sql = $db->Query("SELECT parent_id, catid FROM ".PREFIX."_shop_cat WHERE catid = '".$parent_id."'";
$row = $sql->fetchrow();
$parent_id = $row->parent_id;
$id = $parent_id;
}
return($id);
}
//=================================================================
// Aktueller Navibereich
//=================================================================
function get_startershopcateg($categ,$cc,$c)
{
global $db;
global $tmpl;
$sql = $db->Query("SELECT parent_id,catid FROM ".PREFIX."_shop_cat WHERE catid = '" . $categ. "'";
if($sql->numrows())
{
$row = $sql->fetchrow();
array_push($c,$row->parent_id);
$sql = $db->Query("SELECT parent_id,catid FROM ".PREFIX."_shop_cat WHERE catid = '" . $row->parent_id. "'";
if($sql->numrows())
{
$row = $sql->fetchrow();
if($row->parent_id!=0) array_push($c,$row->parent_id);
$sql = $db->Query("SELECT parent_id,catid FROM ".PREFIX."_shop_cat WHERE catid = '" . $row->parent_id. "'";
if($sql->numrows())
{
$row = $sql->fetchrow();
if($row->parent_id!=0) array_push($c,$row->parent_id);
$sql = $db->Query("SELECT parent_id,catid FROM ".PREFIX."_shop_cat WHERE catid = '" . $row->parent_id. "'";
if($sql->numrows())
{
$row = $sql->fetchrow();
if($row->parent_id!=0)
{
array_push($c,$row->parent_id);
$sql = $db->Query("SELECT parent_id,catid FROM ".PREFIX."_shop_cat WHERE catid = '" . $row->parent_id. "'";
if($sql->numrows())
{
$row = $sql->fetchrow();
array_push($c,$row->parent_id);
}
}
}
}
}
}
return $c;
}

3. Напоследок изменяем \templates\...\shop\navigation.tpl он теперь такой

<div class="navigation_box">{$lang.navigaton}</div>

<div id="shopnavi">
<ul>
<li class="first">
<a href="index.php?p=shop&area={$area}" _fcksavedurl=""index.php?p=shop&area={$area}"" class="shop_navi_first">{$lang.shop_nav_startpage}</a>
</li>
{foreach from=$MyShopNavi item=sn}
{if $sn->parent_id == 0}
{assign var=op value=$sn->catid}
{assign var=firstsecond value=$sn->catid}
{/if}


<li class="first">
<a class="{if $smarty.request.categ==$sn->catid || $smarty.request.navop==$sn->catid || in_array($op,$navi_current)}shop_navi_first_active{else}shop_navi_first{/if}" href="index.php?p=shop&categ={$sn->catid}&area={$area}">
{$sn->Icon} {$sn->Entry|umlaut}
</a>
{if !$sn->Sub1}</li>{else}<ul>{/if}
{foreach from=$sn->Sub1 item=sub1}

<li class="second" style="display:{if $smarty.request.categ!='' && ($smarty.request.categ==$op || $sub1->navop==$op || in_array($op,$navi_current) ) }{else}none{/if}">
<a style="{if $smarty.request.categ==$sub1->catid || in_array($sub1->catid,$navi_current)}font-weight:bold{else}{/if}" href="index.php?p=shop&categ={$sub1->catid}&area={$area}">{$sub1->Entry|umlaut}</a>
{if !$sub1->Sub2}
</li>
{/if}

{*********** 3.Ebene ***********}
{if $sub1->Sub2}
<ul>
{foreach from=$sub1->Sub2 item=sub2}
{*********** Starter fuer 4.Ebene ***********}
<li class="third" style="{if $smarty.request.categ==$sub1->catid || in_array($sub1->catid,$navi_current)}{else}display:none{/if}">
<a style="{if $smarty.request.categ==$sub2->catid || in_array($sub2->catid,$navi_current)}font-weight:bold{else}{/if}" href="index.php?p=shop&categ={$sub2->catid}&area={$area}">{$sub2->Name|umlaut}</a>
{if !$sub2->Sub3}</li>{/if}

{*********** 4.Ebene ***********}
{if $sub2->Sub3}

<ul>
{foreach from=$sub2->Sub3 item=sub3}
{*********** Starter fuer 5.Ebene ***********}
<li class="fourth" style="{if $smarty.request.categ==$sub2->catid || $smarty.request.parent==$sub2->catid || in_array($sub2->catid,$navi_current)}{else}display:none{/if}">
<a style="{if $smarty.request.categ==$sub3->catid || in_array($sub3->catid,$navi_current)}font-weight:bold{else}{/if}" href="index.php?p=shop&categ={$sub3->catid}&area={$area}">{$sub3->Name|umlaut}</a>
{if !$sub3->Sub4}</li>{/if}

{*********** 5.Ebene ***********}
{if $sub3->Sub4}
<ul>
{foreach from=$sub3->Sub4 item=sub4}
<li class="fifth" style="{if $smarty.request.categ==$sub3->catid || in_array($sub3->catid,$navi_current)}{else}display:none{/if}">
<a style="{if $smarty.request.categ==$sub4->catid || in_array($sub4->catid,$navi_current)}font-weight:bold{else}{/if}" href="index.php?p=shop&categ={$sub4->catid}&area={$area}">{$sub4->Name|umlaut}</a>
</li>
{/foreach}

</ul>
{/if}
{*********** 5.Ebene ***********}
{*********** Ende fuer 5.Ebene ***********}
{if $sub3->Sub4}</li>{/if}

{/foreach}
</ul>

{/if}
{*********** 4.Ebene ***********}

{if $sub2->Sub3}</li>{/if} {*********** Ende fuer 4.Ebene ***********}

{/foreach}
</ul>
{if $sn->Sub1}</li>{/if}
{/if}
{*********** 3.Ebene ***********}

{/foreach}
{$sn->Entry_End}
{if !$sn->Sub1} {* /li *} {else}</ul></li>{/if}

{/foreach}
</ul>
</div>
4.и совсем на конец в \system\shop.php после $shop = new Shop();
добавляем следующее

Код

$a = array();
$tmpl->assign('navi_current', $shop->get_startershopcateg($_REQUEST['categ'],'',$a));
$categs_shop = array();
$inarray = array();
$shop_categs = $shop->MyShopNavi(0,$categs_shop,@$_REQUEST['categ'],$inarray);
$tmpl->assign('MyShopNavi', $shop_categs);
$tmpl->assign('MySearchCategs', $shop_categs);


5.этот этап можно опустить , но
добавим ( создадим свои )стили в \templates\...\style.navi.css

#shopnavi {border-bottom: 1px solid #dedede;}
#shopnavi li {display:inline;margin:0px;padding:0px;list-style:url(none) none;}
#shopnavi ul {display:inline;margin:0px;padding:0px;list-style:url(none) none;}
#shopnavi a {display:block;text-decoration:none}
#shopnavi .first {}
#shopnavi .second {display:block;padding:3px;margin-left:0px;padding-left:30px;border-top: 1px solid #dedede;}
#shopnavi .third {display:block;padding:2px;padding-left:20px;}
#shopnavi .fourth {display:block;padding:2px;padding-left:20px}
#shopnavi .fifth {display:block;padding:2px;padding-left:20px}
a.shop_navi_first:link, a.shop_navi_first:visited {background:#fff;display:block;color:#000;text-decoration:none; border-top: 1px solid #dedede;
padding-left:12px;padding-top:2px;padding-bottom:2px;font-weight:normal;line-height:2.5em}
a.shop_navi_first:hover {background:#f5f5f5;color:#000;font-weight:normal;}
a.shop_navi_first_active:link, a.shop_navi_first_active:visited {background:#f5f5f5;display:block;
color:#000;text-decoration:none;border-top: 1px solid #dedede;padding-left:12px;
padding-top:2px;padding-bottom:2px;font-weight:bold;line-height:2.5em}
a.box_shop_navi_first_active:hover {}
a.shop_navi_second:link, a.shop_navi_second:visited {background:#fff;display:block;color:#000;
font-weight:normal;text-decoration:none;padding-left:23px;padding-top:2px;padding-bottom:2px;
border-bottom: 1px solid #dedede;}
a.shop_navi_second:hover {color:#000;}
a.shop_navi_second_active:link, a.shop_navi_second_active:visited {background-color: #fff;
display:block;color:#000;font-weight:bold;text-decoration:none;padding-left:23px;
padding-top:2px;padding-bottom:2px;border-bottom: 1px solid #dedede;}
a.shop_navi_second_active:hover {color:#777777;}

6. И напоследок, создайте картинку page_headernavi

P.S Прошу прошения за длинный текст.Комплект приложен , сильно не пинайте , начинающий я ! Прикрепленные файлы: nav_po_cat.zip



Комментарии



Последний комментарий

От Станислав Кирилюк в 04.12.2007, 14:11
Вопрос малость не в тему, да простят меня админы...
А как дела обстоят в магазине с оплатой?
Через Вэбмани и Сбербанк есть?
И возможно ли и там и там прописать три варианта выбора валюты - рублевый, долларовый и евро?
Если это за денежку, то сколько будет стоить?
От Tatyana Karimova в 20.01.2008, 16:39
Большое спасибо за Ваше меню с подробным описанием. Всё работает.
Изменен в: 20.01.2008, 16:48

 

Печать страницы | Рекомендовать Сайт


рублей Яндекс.Деньгами
на счёт 41001130616963 (Разработки Overdoze.Ru)

Сибавтомастер: техобслуживание и ремонт японских автомобилей
Количство запросов к БД: 49шт. | Время генерации страницы: 0,0703