Поиск по сайту
Результаты поиска по тегам 'opencart 2.1.0.2'.
Найдено 7 результатов
-
Здравствуйте :) Эта тема для тех: 1) кого не устраивают стандартные отзывы товаров с ajax в opencart 2 и ocStrore 2 2) кому не подходят, не нравятся, или нет желания покупать готовые решения отзывов для товаров 3) кто хочет немного погеммороится с кодом, но понять как все это работает и что можно сделать под свои запросы. 4) для истинных программистов-альтруистов готовых безвозмездно помочь советом и кодом. ! Я очень плохо знаю PHP, HTML, CSS, javascript ! Любой код написанный мной может содержать ошибки, являться говнокодом, снижать безопасность и т. д. ! Комментарии делаю для своего магазина (ocStore 2.1.0.2) на который планирую переходить с версии 1,5 - по этому рассматриваю, тестирую, настраиваю код только для этой версии ocSrore. ! Я надеюсь на помощь - для этого и создал тему. Комментарии без ajax для opencart / ocstore 2.1.0.2 В файле /catalog/controller/product/product.php найти $this->model_catalog_product->updateViewed($this->request->get['product_id']); и после нее вставить следующее $this->load->model('catalog/review'); $data['text_no_reviews'] = $this->language->get('text_no_reviews'); if (isset($this->request->get['review_page'])) { $page = $this->request->get['review_page']; } else { $page = 1; } $data['reviews_array'] = array(); $review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']); $results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5); foreach ($results as $result) { $data['reviews_array'][] = array( 'author' => $result['author'], 'text' => nl2br($result['text']), 'rating' => (int)$result['rating'], 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])) ); } $pagination = new Pagination(); $pagination->total = $review_total; $pagination->page = $page; $pagination->limit = 5; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']. '&review_page={page}'); $data['pagination'] = $pagination->render(); $data['results'] = sprintf($this->language->get('text_pagination'), ($review_total) ? (($page - 1) * 5) + 1 : 0, ((($page - 1) * 5) > ($review_total - 5)) ? $review_total : ((($page - 1) * 5) + 5), $review_total, ceil($review_total / 5)); // http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html if ($page == 1) { $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical'); } elseif ($page == 2) { $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'prev'); } else { $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']) . '&review_page='. ($page - 1), 'prev'); } $limit = 5; if ($limit && ceil($review_total / $limit) > $page) { $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']) . '&review_page='. ($page + 1), 'next'); } Что тут, откуда и для чего Находим и удаляем или закомментируем // $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical'); так как это появилось в наших отзывах и изменяется от условий. На этом с файлом /catalog/controller/product/product.php закончили ----------------------------------------------------------------------------------------------- в файле /system/library/pagination.php после строки $num_pages = ceil($total / $limit); вставить $pages = array("review_page={page}", "page={page}"); review_page можно заменить на то что вы хотите и изменили в контроллере и шаблоне далее находим такие строки $output .= '<li><a href="' . str_replace('&', '&', rtrim( str_replace('page={page}', '', $tmp_url), '?&')) . '">' . $this->text_first . '</a></li>'; $output .= '<li><a href="' . str_replace('&', '&', rtrim( str_replace('page={page}', '', $tmp_url), '?&')) . '">' . $this->text_prev . '</a></li>'; $output .= '<li><a href="' . str_replace('&', '&', rtrim( str_replace('page={page}', '', $tmp_url), '?&')) . '">' . $i . '</a></li>'; и заменяем в них 'page={page}' на $pages в итоге получим такой код в файле /system/library/pagination.php Открываем файл шаблона ( если по умолчанию то /catalog/view/theme/default/template/product/product.tpl) находим <div id="review"></div> или то место куда ajax вставляет отзывы и вставляем в этот div <?php if ($reviews_array) { ?> <?php foreach ($reviews_array as $review) { ?> <table class="table table-striped table-bordered"> <tr> <td style="width: 50%;"><strong><?php echo $review['author']; ?></strong></td> <td class="text-right"><?php echo $review['date_added']; ?></td> </tr> <tr> <td colspan="2"><p><?php echo $review['text']; ?></p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($review['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span> <?php } ?> <?php } ?></td> </tr> </table> <div itemprop="review" itemscope itemtype="http://schema.org/Review"> <meta itemprop="itemReviewed" content="<?php echo $heading_title; ?>" > <meta itemprop="author" content="<?php echo $review['author']; ?>" > <meta itemprop="datePublished" content="<?php $date1 = strtotime($review['date_added']); $new_date = date('Y-m-d', $date1); echo $new_date; ?>"> <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="worstRating" content = "1"/> <meta itemprop="ratingValue" content="<?php echo $review['rating']?>"/> <meta itemprop="bestRating" content = "5"/> </div> <meta itemprop="description" content="<?php echo $review['text']; ?>" /> </div> <?php } ?> <div class="text-right"><?php echo $pagination; ?></div> <?php } else { ?> <p><?php echo $text_no_reviews; ?></p> <?php } ?> тут есть мои костыли Удаляем обработку ajax, находим почти в самом низу кода: $('#review').delegate('.pagination a', 'click', function(e) { e.preventDefault(); $('#review').fadeOut('slow'); $('#review').load(this.href); $('#review').fadeIn('slow'); }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); можно вместо него вставить: $(document).ready(function() { <?php if(isset($_GET['review_page'])){ ?> $('a[href=\'#tab-review\']').trigger('click'); var scrollTop = $('#tab-review').offset().top; $(document).scrollTop(scrollTop); <?php } ?> }); тогда при пагинации будет открываться таб с отзывами и скролл к нему (не работает при переходе обратно на первую страницу) --------------------------------------------------------------------------------------------------------------------- Вот и все -------------- Большая часть материала взята с сайта http://cmykon.com.ua/opencart/otzyvy-bez-ajax-ili-seo-otzyvy-v-opencart/ не работает в opencart 2.1.0.2 В планах: 1) вывод отзывов в зависимости от текущего языка 2) начисление баллов за отзыв Буду благодарен за исправления ошибок и костылей.
- 6 ответов
-
- 3
-
- opencart 2.1.0.2
- reviews
- (и ещё 2)
-
Ищу программиста для доработки сайта по ТЗ (вложенный файл). Далее планомерное оптимизация работы и развитие сайта (доп. модули, разделы, программинг, конструктор карт, турбо-страницы, Я.маркет и т.д.) Оцените стоимость работ по ТЗ. В первую очередь важны сроки и качество выполненных работ. Оплата сдельная по факту. site_add-ons.xls
- 1 ответ
-
- opencart 2.1.0.2
- доработка сайта
- (и ещё 12)
-
Здравствуйте, ЗНАТОКИ!!! у меня небольшая проблема, до некоторого времени на сайте доставки цветов , меню в мобильной версии показывалась нормально. а потом меню перестал отображаться. как исправить данную проблему <?php $this->language( 'module/themecontrol' ); $megamenu = $helper->renderModule('pavmegamenu'); $objlang = $this->registry->get('language'); ?> <div id="header"> <div id="topbar" class=""> <div class="container"> <div class="topbar"> <div class="row"> <div class="col-lg-8 col-md-6 col-sm-5 hidden-xs"> <ul class="links pull-left"> <li class="hidden-sm hidden-xs"><a href="<?php echo $wishlist; ?>" id="wishlist-total"><span class="fa fa-heart"></span><?php echo $text_wishlist; ?></a></li> <li><a href="<?php echo $account; ?>"><span class="fa fa-user"></span><?php echo $text_account; ?></a></li> <li><a href="<?php echo $shopping_cart; ?>"><span class="fa fa-shopping-cart"></span><?php echo $text_shopping_cart; ?></a></li> <li class="hidden-sm hidden-xs"><a class="last" href="<?php echo $checkout; ?>"><span class="fa fa-file"></span><?php echo $text_checkout; ?></a></li> </ul> <div class="login pull-right hidden-sm hidden-md"> <?php if ($logged) { ?> <a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a> <?php } else { ?> <a href="<?php echo $register; ?>"><?php echo $text_register; ?></a> <a href="<?php echo $login; ?>"><?php echo $text_login; ?></a> <?php } ?> </div> </div> <div class="col-lg-4 col-md-6 col-sm-7 col-xs-12"> <div class="pull-right"> <div id="search"> <?php echo $search; ?> </div> </div> <div class="currency-box pull-right hidden-xs"> <?php echo $currency; ?> </div> <div class="language-box pull-right hidden-xs"> <?php echo $language; ?> </div> </div> </div> </div> </div> </div> <div id="header-main"> <div class="container"> <div class="header-wrap"> <div class="pull-left wrap-logo"> <?php if( $logoType=='logo-theme'){ ?> <div id="logo-theme" class="logo-store"> <a href="<?php echo $home; ?>"> <span><?php echo $name; ?></span> </a> </div> <?php } elseif ($logo) { ?> <div id="logo" class="logo-store"> <a href="<?php echo $home; ?>"> <img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive" /> </a> </div> <?php } ?> </div> <div class="pull-left wrap-menu"> <section id="pav-mainnav"> <div class="navbar-inverse"> <div> <div> <div style="width: 250px; float:left;"> <p align="center" style="font-size:18px" > <strong >+7 (925) 025-96-50</strong> </p> <p align="center" style="font-size:18px" > <strong >+7 (499) 390-69-79</strong> </p> </div> <div style="width: auto; float:left; "> <p> <img src="image/catalog/connect.png" alt="WhatApp and Viber"><a href="https://flormarket.ru/pay" > <img src="image/catalog/paymentsall.png" alt="Оплата"> </a> </p> </div> </div> <!-- <div> <p align="center" style="font-size:15px" > Адрес для самовывоза: г. Москва, Водопроводный переулок, дом 2</p> </div> --> </div> </div> </section> </div> <button data-toggle="offcanvas" class="btn button dropdown-toggle hidden-lg hidden-md pull-left" type="button"><span class="fa fa-bars"></span>Меню</button> <div class="mini-access visible-xs pull-right"> <ul> <li><a href="<?php echo $wishlist; ?>" class="mini_wishlist"><i class="fa fa-heart"></i></a></li> <li><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="mini_account"><span class="fa fa-user"></span></a></li> <li><a href="<?php echo $shopping_cart; ?>" title="<?php echo $text_shopping_cart; ?>" class="mini_cart"><span class="fa fa-shopping-cart"></span></a></li> <li class="exchange"><!--a href=""></a--> <a href="javascript:void(0)" class=" dropdown-toggle" data-toggle="dropdown"> <i class="icon fa fa-exchange"></i> </a> <div class="dropdown-menu"> <?php echo $currency; ?> <?php echo $language; ?> </div> </li> <li class="search"> <a href="javascript:void(0)" class=""> <i class="icon fa fa-search"></i> </a> </li> </ul> </div> <div class="header-right pull-right wrap-cart hidden-xs "> <div class="cart-top pull-right"> <?php echo $cart; ?> </div> </div> </div> <?php /** * Main Menu modules: as default if do not put megamenu, the theme will use categories menu for main menu */ $modules = $helper->renderModule('pavmegamenu'); if (count($modules) && !empty($modules)) { ?> <?php echo $modules; ?> <?php } elseif ($categories) { ?> <div class="navbar navbar-inverse"> <nav id="mainmenutop" class="pav-megamenu" role="navigation"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"> <span class="sr-only">Включить навигацию</span> <span class="fa fa-bars"></span> </button> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <?php foreach ($categories as $category) { ?> <?php if ($category['children']) { ?> <li class="parent dropdown deeper "> <a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?> <b class="fa fa-angle-down"></b> <span class="triangles"></span> </a> <?php } else { ?> <li> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <ul class="dropdown-menu"> <?php for ($i = 0; $i < count($category['children']);) { ?> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> <?php } ?> </ul> <?php } ?> </li> <?php } ?> </ul> </div> </nav> </div> <?php } ?> </div> </div> </div>
-
Как убрать дубли на сайте вот ссылка например дублей - https://sattv-shop.net/resivery/resivery/resivery/resivery/resivery/resivery/resivery/resivery/sputnikovye-resivery
- 3 ответа
-
- opencart 2.1.0.2
- opencart2
- (и ещё 5)
-
Всем привет! Вообщем-то столкнулся с неприятной проблемой. Ранее для использования модуля Mega фильтр PRO на опенкарт 2.1.0.2 установил vqmod. Модуль работал, сбоев никаких не было. Совсем недавно обнаружил, что при установке некоторых OCMOD модулей при переходе в категории из админки и попытке добавить товар появляется ошибка: Fatal error: Cannot redeclare ModelCatalogCategory::getCategories_MF() in /var/www/host/data/www/имя сайта/vqmod/vqcache/vq2-system_storage_modification_admin_model_catalog_category.php on line 44 Позже только узнал, что установка vqmod на opencart 2 не желательны и могут привести к нестабильной работе. Можно ли побороть эту ошибку? Или полностью удалить установленный vqmod?
-
Есть ошибка, не открывается почему-то корзина, стоит Opencart 2.1.0.2 с VQmod. Просто перестало работать открытие корзины. Где-то возможно конфликт JS. Ошибка такого содержания: (index):1 Uncaught ReferenceError: getOCwizardModal_smca is not defined