На форуме очень много таких тем, но нужных ответов в них я не нашел, поэтому создал новую!
Привет всем! Я делаю каталог товаров компьютерного магазина, в процессе разработки у меня возникло много вопросов «Как?»
Вот структура каталога этого магазина:
1) Сначала пользователь должен увидеть перечень типов товаров, пример:
Процессоры
Видеокарты
Мониторы
Сканеры
2) Нажав на один из них, он попадает на страничку, где показаны их изготовители. Предположим, что пользователь выбрал тип товара «Процессоры»:
Процессоры (рубрика)
AMD (подрубрика)
Intel (подрубрика)
3) Далее должен показываться перечень товаров изготовителя которого выберет пользователь:
AMD (подрубрика)
Athlon x2 (пост находящийся в подрубрике)
Athlon x3 (пост находящийся в подрубрике)
Duron Morgan(пост находящийся в подрубрике)
4) После этого пользователь уже сможет выбрать товар, который его интересует и посмотреть на его характеристики, внешний вид, и т.д.
Athlon x2 (пост находящийся в подрубрике)
Характеристика: ……………………… (содержимое поста)
Цена:…………………………………………
И. т.д………………………………………….
Как это думал сделать я:
1 – Выводить рубрики
2 – Выводить подрубрики
3 – Выводить посты которые имеются в подрубриках
4 – Выводить сам пост
Трудности с которыми я столкнулся
1 – Не знаю какими командами правильно запрограммировать вышесказанное:
А) Выводить рубрики ( wp_list_cats(‘depth=1’); )
Б) Если нажали на рубрику, вывести ее подрубрики ( ? )
В) Нажали на подрубрику -> выводим список заголовков постов в этой рубрике ( ? )
2 – На каких страницах в иерархии шаблона (category.php, index.php, archive.php (примеры)) должны размещаться команды которые касаются именно рубрик ?
Слово благодарности:
Соника, я очень благодарен тебе за вот это:
http://www.sonika.ru/blog/wp-content/uploads/2008/09/template_hierarchy1.png
Эта иерархия мне очень и очень сильно помогла.
Заранее благодарен всем, кто поможет мне решить эту проблему!
На сайтах тех интернет-магазинов, с которыми я сталкивался, категории товаров (рубрики) оформляются обычно в виде выпадающего меню, которое прописывается обычно в файле header.php . Как прописывается?
Ну, например, так (фрагмент реального кода) …
[code- <body>
<div id="wrapper">
<div id="header" class="clearfix">
<div class="h_left">
<?php if ( get_option(‘ptthemes_show_blog_title’) ) { ?>
<div class="blog-title"><a href="<?php echo get_option(‘home’); ?>/"><?php bloginfo(‘name’); ?></a> </div>
<p class="blog-description">
<?php bloginfo(‘description’); ?>
</p>
<?php } else { ?>
<a href="<?php echo get_option(‘home’); ?>/"><img src="<?php if ( get_option(‘ptthemes_logo_url’) <> "" ) { echo get_option(‘ptthemes_logo_url’); } else { echo get_bloginfo(‘template_directory’).’/images/logo.png’; } ?>" alt="<?php bloginfo(‘name’); ?>" class="logo" /></a>
<?php } ?>
</div> <!– h_left #end–>
<div class="h_right">
<?php if ( get_option(‘ptthemes_toppages’) <> "" ) { ?>
<ul class="top_nav">
<?php wp_list_pages(‘title_li=&depth=0&include=’ . get_option(‘ptthemes_toppages’) . ‘&sort_column=menu_order’); ?>
</ul>
<?php } ?>
<div class="top_menu">
<?php
//print_r($current_user->data->user_nicename);
if($current_user->data->ID)
{
?>
<?php _e(WELCOME_TEXT);?> <strong><?php echo $current_user->data->user_nicename;?></strong>, <a href="<?php echo get_option(‘siteurl’); ?>/?page=account"><?php _e(MY_ACCOUNT_TEXT);?></a> | <a href="<?php echo get_option(‘siteurl’); ?>/?page=login&action=logout"><?php _e(LOGOUT_TEXT);?></a>
<?php
}else
{
?>
<?php _e(HELLO_GUEST_TEXT);?>, <a href="<?php echo get_option(‘siteurl’); ?>/?page=login"><?php _e(LOGIN_TEXT);?></a> | <a href="<?php echo get_option(‘siteurl’); ?>/?page=login"><?php _e(REGISTER_TEXT);?></a>
<?php
}
?>
</div>
<?php
if($General->is_storetype_shoppingcart() || $General->is_storetype_digital()){
?>
<div class="cart">
<?php _e(‘You have’);?> <strong>
<a href="<?php echo get_option(‘siteurl’); ?>/?page=cart"><strong><span id="cart_information_span"><?php echo $itemsInCartCount . "(".$General->get_currency_symbol()."$cartAmount)";?></span></strong></a>
</strong> <?php _e(SHOPPING_CART_CONTENT_TEXT);?>
</div> <!– cart #end –>
<?php }?>
</div>
</div> <!– #header #end –>
<div class="main_navi clearfix" >
<?php
global $wpdb;
$blogcatname = get_option(‘ptthemes_blogcategory’);
$catid = $wpdb->get_var("SELECT term_ID FROM $wpdb->terms WHERE name = ‘$blogcatname’");
?>
<ul class="sf-menu">
<li class="home"><a href="<?php echo get_option(‘home’); ?>"> <img src="<?php bloginfo(‘template_directory’); ?>/images/trans.png" alt="" /> </a></li>
<?php
if($General->is_show_storepage())
{
?>
<li class="store <?php if ($_GET[‘page’]==’store’) { ?>current_page_item <?php } ?>"><a href="<?php echo get_option(‘siteurl’)."/?page=store";?>"><?php _e(STORE_TEXT);?></a>
<?php
echo " <ul>";
$ex_catIdArr = get_categories(‘exclude=9999999′ . get_inc_categories("cat_exclude_") .’,1′);
$catIdArr = array();
foreach($ex_catIdArr as $ex_catIdArrObj)
{
$catIdArr
= $ex_catIdArrObj->term_id;
}
$includeCats = implode(‘,’,$catIdArr);
wp_list_categories(‘orderby=name&title_li=&include=’.$includeCats);
echo " </ul>";
?>
</li>
<?php
}
?>
<?php wp_list_pages(‘title_li=&depth=0&exclude=’ . get_inc_pages("pag_exclude_") .’&sort_column=menu_order’); ?>
<?php
if($General->is_show_blogpage())
{
?>
<li class="Blog <?php if ($_GET[‘page’]==’Blog’) { ?>current_page_item <?php } ?>"><a href="<?php echo get_option(‘siteurl’)."/?page=Blog";?>"><?php _e(BLOG_TEXT);?></a></li>
<?php
}
?>
</ul>
<?php include(TEMPLATEPATH."/searchform.php");?>
</div>[/code]