Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Решено Не сортируется товар вообще

Тема в разделе "Вопросы новичков", создана пользователем DanilBL, 23 июн 2016.

  1. DanilBL

    DanilBL

    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте! Достался мне сайт, который меня устраивает, но есть один косяк... Не работает сортировка по алфавиту (по имени). Мне не нужно, чтобы я мог выбирать в поле с вариантами сортировки, а просто чтоб из базы данных выводилось уже сортированный по алфавиту и все.
    Все сортируется хорошо (меню, категории), а вот товар не хочет!
    Перелопатил информации вагон... Не знаю в чем дело. Последняя надежда на Вас!!!
    Вот ссылка на каталог - goo.gl/3BQI0B
    Вот часть кода, который выводи товар (orderby, делал разный: title, name, date и вплоть до бреда)
    Если еще, что-то нужно, скажите....
    Код:
    <div class="col-md-9">
    
    <?php   
    if ($models_parts) {
                $_pf = new WC_Product_Factory(
                array (
                'orderby'=> 'title',
                'order' => 'ASC'
                ));   
               
                foreach( $models_parts as $part_id ) :   
                    if ($cur_count==$count_parts_per_page) {
                        $cur_count=1;
                        $find_page++;
                    }
                    else {
                        $cur_count++;
                    }
                    if ($find_page==$need_page)
                    {
                        $_product = $_pf->get_product($part_id);
                        $price = get_post_meta($_product->post->ID, '_regular_price');
                                       
                            $linknext=get_site_url().'/detailpart/?';
                            if ($brand_id!=0) $linknext=$linknext.'brandid='.$brand_id.'&';
                            if ($model_id!=0) $linknext=$linknext.'modelid='.$model_id.'&';
                            if ($year_id!=0) $linknext=$linknext.'years='.$year_name;                   
                        ?>   
                        <div class="col-md-4">
                            <a href="<?php echo $linknext.'&partid='.$_product->post->ID; ?>">
                            <div class="part-block solid-block2">                           
                                <?php echo get_the_post_thumbnail($_product->post->ID, array(200,200)); ?>
                                <h1><?php echo $_product->post->post_title; ?></h1>
    
    <?php $type = get_post_meta($part_id, 'type'); ?>
    <?php echo $type[0]; ?>
    
                            </div>
                            </a>
                            <div class="part-button-block">
                                <div class="price-block">
                                    <span><?php if ($price[0]) {echo $price[0].'р';}?></span>
                                </div>
                                <div class="button-open-block">
                                    <a href="<?php echo $linknext.'&partid='.$_product->post->ID; ?>" style="float:left" id="link<?php echo $cur_count; ?>">
                                        <div class="button-order">Подробнее</div>
                                    </a>
                                </div>
                            </div>
                        </div>
                        <?php               
                    }       
                endforeach;
                ?>
                </div>
    Скажу сразу и честно. Я еще совсем зеленый в этой теме. Только учусь. Но, мне это очень интересно!))
     
  2. vsg

    vsg

    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Вопрос все еще актуален?
     
  3. vsg

    vsg

    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    А вот и ответ

    $args = array(
    'post_type' => 'product',
    'orderby' => 'post_title',
    'order' => 'ASC'
    );

    $_pf = new WC_Product_Factory($args);

    $count = count($models_parts);
    for ($i = 0; $i < $count - 1; $i++) {
    for ($j = $i + 1; $j < $count; $j++) {
    $product1 = $_pf->get_product($models_parts[$i]);
    $product2 = $_pf->get_product($models_parts[$j]);
    if ($product1->post->post_title > $product2->post->post_title) {
    $c = $models_parts[$i];
    $models_parts[$i] = $models_parts[$j];
    $models_parts[$j] = $c;
    }
    }
    }

    foreach( $models_parts as $part_id ) :
    -----------------------------------------------------------------------
    ну и так далее... реализована обычная сортировка пузырьковым методом :)
     
  4. DanilBL

    DanilBL

    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Спасибо! Вопрос актуален. Буду пробовать то что вы предложили. Огромное спасибо
     
  5. vsg

    vsg

    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Поугарай над тем что я уже за тебя этот вопрос решил.
     
    • Не нравится Не нравится x 2