Вывод определенных категорий

Тема в разделе "Мегафлуд", создана пользователем pvi1, 22 янв 2015.

  1. pvi1

    pvi1 Постоялец

    Регистр.:
    2 дек 2012
    Сообщения:
    54
    Симпатии:
    14
    Кто подскажет, как прописать цикл в файле maincategory.php, чтобы выводились только определенные категории маагазина?
     
  2. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.627
    Симпатии:
    1.330
    Научитесь правильно формировать вопросы и оформлять темы .
    Тему в мегафлуд!
     
  3. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    60
    Симпатии:
    24
    Сделай условие по $category->category_id;
     
  4. pvi1

    pvi1 Постоялец

    Регистр.:
    2 дек 2012
    Сообщения:
    54
    Симпатии:
    14
    Условие то понятно
    <?php foreach ($this->categories as $k => $category) : ?>
    <?php if ($category->category_id!=1){?>
    .... Что писать здесь???
    <?php } ?> //конец условия
    <?php endforeach; ?>
     
  5. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    60
    Симпатии:
    24
    Чтобы выводились нужные, нужно их перечислить, а Вы хотите, чтобы не выводились ненужные ? тогда break;
     
  6. pvi1

    pvi1 Постоялец

    Регистр.:
    2 дек 2012
    Сообщения:
    54
    Симпатии:
    14
    category_id=2, category_id=2, ....

    Так ? Я просто в PHP слабоват
     
  7. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    60
    Симпатии:
    24
    Ну я тоже особо не программер. Тут вопрос прямое условие или обратное ?
    Если прямое то надо перечислить все нужные, можно так if (($category->category_id==1) OR ($category->category_id==2) OR ($category->category_id==3))
    далее следует вся борода вывода. Можно использовать IN.

    if (($category->category_id IN (1,2,3,4))

    Можно же использовать обратное условие if ($category->category_id!=1) {break;} esle вывод.

    Думаю логика понятна, а синтаксис и правила можно смотреть в гугле :)


    А еще можно снимать публикацию ненужных категорий в админке..
     
  8. pvi1

    pvi1 Постоялец

    Регистр.:
    2 дек 2012
    Сообщения:
    54
    Симпатии:
    14
    Да, но и товары не будут публиковаться. А мне просто-напросто в надо убрать 2 категории из списка категорий магазина, но товары этих категорий должны быть доступны
     
  9. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    60
    Симпатии:
    24
    Код:
    <?php defined('_JEXEC') or die(); ?>
    <?php if ($this->params->get('show_page_heading') && $this->params->get('page_heading')) {?>   
    <div class="jshop<?php print $this->params->get('pageclass_sfx');?> jshophead">
    <h1><?php print $this->params->get('page_heading')?></h1></div>
    <?php }?>
    
    
    <div class="jshop_list_category">
    <?php if (count($this->categories)){?>
    
    <div class="jshop">
        <?php foreach($this->categories as $k=>$category){
        if ($category->category_id!=1) { ?>
            <?php if ($k%$this->count_category_to_row==0) echo '<div class="clear"></div><ul class="str_category">'; ?>
            <li class = "jshop_categ width<?php echo round(100/$this->count_category_to_row, 0)?>">
              <div class="category">
                   <div class="image">
                        <a href = "<?php echo $category->category_link;?>"><img class = "jshop_img" src = "<?php echo $this->image_category_path;?>/<?php if ($category->category_image) echo $category->category_image; else echo $this->noimage;?>" alt="<?php echo htmlspecialchars($category->name);?>" title="<?php echo htmlspecialchars($category->name);?>" /></a>
                   </div>
                        <a class = "product_link" href = "<?php print $category->category_link?>"><?php print $category->name?></a>
               </div>
            </li>       
            <?php if ($k%$this->count_category_to_row==$this->count_category_to_row-1) echo '</ul>'; ?>
        <?php } }?>
            <?php if ($k%$this->count_category_to_row!=$this->count_category_to_row-1) echo '</ul>'; ?>   
    </div>
    
    <?php } ?>
    </div>
    <div class="clear"></div>
    <div class="maincat_desc">
    <?php echo $this->category->description?>
    </div>
     
    pvi1 нравится это.
  10. pvi1

    pvi1 Постоялец

    Регистр.:
    2 дек 2012
    Сообщения:
    54
    Симпатии:
    14
    Спасибо большое. Все-таки сам бы не догнал. Сейчас буду по строчкам изучать код, чтобы самому врубиться в логику.