Задать вопрос
Контакты
Местоположение
Россия

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (15)

Лучшие ответы пользователя

Все ответы (61)
  • Как скопировать меню и строку поиска в opencart с одной страницы на другую?

    lazuren
    @lazuren
    Вам нужно в контроллер catalog/controller/common/home.php перед
    $this->response->setOutput($this->load->view('common/home', $data));
    вставить вот этот код:
    $data['search'] = $this->load->controller('common/search');
    $data['menu'] = $this->load->controller('common/menu');
    Ответ написан
    3 комментария
  • Как на OpenCart 2.3 сделать рейтинг товаров как на Wildberries?

    lazuren
    @lazuren
    Смог смастерить вот это (OpenCart 3.0.3.2) :
    В контроллере catalog/controller/product/product.php
    После строки
    $data['rating'] = (int)$product_info['rating'];
    Вставляете
    // Expanded rating
                $this->load->model('catalog/review');
                $review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']);
                $estimations = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id']);
    
                $one = 0;
                $two = 0;
                $three = 0;
                $four = 0;
                $five = 0;
                $rating_sum = 0;
    
                foreach ($estimations as $estimation){
                    ($estimation['rating'] == '1') && $one++;
                    ($estimation['rating'] == '2') && $two++;
                    ($estimation['rating'] == '3') && $three++;
                    ($estimation['rating'] == '4') && $four++;
                    ($estimation['rating'] == '5') && $five++;
    
                    $rating_sum += $estimation['rating'];
                }
    
                $data['expanded_rating'][] = array(
                    'one' => round((100/$review_total) * $one),
                    'two' => round((100/$review_total) * $two),
                    'three' => round((100/$review_total) * $three),
                    'four' => round((100/$review_total) * $four),
                    'five' => round((100/$review_total) * $five),
                    'rating' => round($rating_sum / $review_total, 1),
                    'total' => $review_total
                );

    Далее в файле
    catalog/view/theme/default/template/product/product.twig

    после строки
    <p>{% for i in 1..5 %}
                  {% if rating < i %}<span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span>{% else %}<span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span>{% endif %}
                  {% endfor %} <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;">{{ reviews }}</a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;">{{ text_write }}</a></p>
                <hr>

    Вставляете
    {% for rating in expanded_rating %}
                      <p>1 - {{ rating.one }}%</p>
                      <p>2 - {{ rating.two }}%</p>
                      <p>3 - {{ rating.three }}%</p>
                      <p>4 - {{ rating.four }}%</p>
                      <p>5 - {{ rating.five }}%</p>
                      <h3>Общий рейтинг - {{ rating.rating }}</h3>
                      <p>На основании {{ rating.total }} отзывов</p>
                  {% endfor %}
                  <hr>


    Получиться должно так
    5e98c4b75cc24861087497.png
    Ответ написан
    6 комментариев
  • Как достать динамическую информацию из массива?

    lazuren
    @lazuren
    Судя по всему это не массив, а объект.
    Каждый раз когда он создается или обновляется выводить значение по ключу.
    Object.member_id где Object - это название вашего объекта "массива" .
    Ответ написан
    1 комментарий
  • Как убрать index.php?route=common/home с главной? Opencart 3.0.1.0?

    lazuren
    @lazuren
    Вот этот бесплатный модификатор решает эту проблему
    Ответ написан
    Комментировать
  • Где можно редактировать обязательные поля у продукта?

    lazuren
    @lazuren
    для продукта есть обязательное поле Артикул.


    Изначально в OpenCart обязательное поле не Артикул, а Модель.

    Смотрел в admin/controller но там ничего!


    В функции validateForm() из контроллера admin/controller/catalog/product.php закомментируйте эти строки:
    if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {
    			$this->error['model'] = $this->language->get('error_model');
    		}


    А чтобы удалить красную звездочку рядом с полем, нужно в файле admin/view/template/catalog/recurring_form.twig
    Удалить класс required.
    <div class="form-group required">
                    <label class="col-sm-2 control-label" for="input-model">{{ entry_model }}</label>
                    <div class="col-sm-10">
                      <input type="text" name="model" value="{{ model }}" placeholder="{{ entry_model }}" id="input-model" class="form-control"/>
                      {% if error_model %}
                        <div class="text-danger">{{ error_model }}</div>
                      {% endif %}</div>
                  </div>
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (11)