COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

admin

Администраторы
  • Публикации

    5350
  • Зарегистрирован

  • Посещение

  • Days Won

    278

Изменения репутации

  1. Upvote
    admin изменил репутацию shturmavik в Проверить есть ли товар в Wishlist   
    Добавил код в catalog/model/account/wishlist.php   public function getAllWishlist() { // by nix if ($data = $this->getWishlist()) { $out = array(); foreach ($data as $key => $value) { $out[] = $value['product_id']; } return $out; } else if (isset($this->session->data['wishlist'])) { return $this->session->data['wishlist']; } }  
      Добавил код в catalog/controller/product/product.php $this->load->model('account/wishlist');         $zol_wish = $this->model_account_wishlist->getAllWishlist();         if (isset($product_id) && isset($zol_wish)) {           if (in_array($product_id, $zol_wish)) {             $data['AllWishlist'] = true;           }           } Выше этого кода: if ($product_info) {             $url = '';             if (isset($this->request->get['path'])) {  
     
      В файл catalog/view/theme/default/template/product/product.tpl заменил кнопку сердечка на такой код: <?php if ($logged) { ?> <script type="text/javascript"> function ChangeColor(Element) { Element.style.color = 'red'; } </script> <button <?php if(isset($AllWishlist)) { ?> style="color: red" <?php } ?> type="button" data-toggle="tooltip" class="btn btn-default" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product_id; ?>'); ChangeColor(this);"><i class="fa fa-heart"></i></button> <?php } ?>  
    Добавил код в catalog/controller/product/category.php   Вот такой код: $this->load->model('account/wishlist'); $data['AllWishlist'] = $this->model_account_wishlist->getAllWishlist(); Выше этого кода:
    $data['breadcrumbs'] = array(); В файл catalog/view/theme/default/template/product/category.tpl заменил кнопку сердечка на такой код:
    <?php if ($logged) { ?> <script type="text/javascript"> function ChangeColor(Element) { Element.style.color = 'red'; } </script> <button <?php if(isset($AllWishlist)) { ?> <?php if(in_array($product['product_id'], $AllWishlist)) { ?> style="color: red" <?php } ?> <?php } ?> type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>'); ChangeColor(this);"><i class="fa fa-heart"></i></button> <?php } ?> Теперь если мы залогинимся, то у товара появиться сердечко. Если нажмём, то оно загорится красным и товар добавиться в закладки. Если удалил из закладок, то сердечко перестанет быть красным.

    Пример http://best-socks.ru/
     
  2. Upvote
    admin получил репутацию от ArtemAMA в ANCART 2.X   
    а что с ними ?
    если вы про то что перескакивает
    то это не со шрифтами а с длиной
    в файле стилей сделайте в 714 строке отак
    .product-thumb h4 { font-weight: bold; height: 30px; overflow: hidden; }  
  3. Upvote
    admin получил репутацию от iconbit в Вы экономите   
    поменяйте на
     
  4. Upvote
    admin изменил репутацию milenius в KITCHEN - бесплатный адаптивный шаблон [быстрый старт OCSHOP.CMS]   
    Ещё раз, здравствуйте. Кто знает, дайте направление где исправить? Что-бы в категориях сначала был список подкотегорий (ВЫБЕРИТЕ ПОДКАТЕГОРИЮ) или товаров, а потом уже было ОПИСАНИЕ товара! Так будет "по человечески")))
    Заранее. Спасибо...
    P.S. Наверное
    catalog/view/theme/kitchen/template/product/category.tpl
    десь править?
     
    Да, здесь. Спасибо. Сделал!
  5. Upvote
    admin изменил репутацию jscavery в Произвольный текст вместо цен   
    Самый простой вариант - это прописать руками условие
    к примеру latest.tpl
    вместо:
    <?php if ($product['price']) { ?> пишем (валюту свою)
    <?php if ($product['price'] !== '0.00 Грн') { ?> в конце закрытия
    <?php } ?> меняем на
    <?php } else { ?> <p>Уточните у менеджера</p> <?php } ?>  
    соответственно цену не выставляете
     
    Теперь на главной в последних поступлениях можете глянуть результат
  6. Upvote
    admin получил репутацию от WolFRocK в Мультимагазин   
    идеи есть :-) но честно говоря трогать мультимагазин совсем не хочется ну прям совсем потому как он в плане сео и функциональности уж очень сырой, а если это все исправить то это уже будет далеко не опенкарт

    Вам раз уж вы решили выбрать путь мультимагазина могу посоветовать следующее

    1. каждому магазину своя копия шаблона

    2. в footer.tpl вместо вывода карты вставляете сам код карты в каждом шаблоне

    и таким образом у вас в каждом магазине будет своя карта ну и там же контакты всевозмодные можете поправить и тд и тп

    это конечно решение через одно место но быстрое и рабочее
  7. Upvote
    admin изменил репутацию hakud в Название товара в нормальном виде   
    Вопрос отпал, проблема была в стиле для шрифта
  8. Upvote
    admin получил репутацию от WolFRocK в Как увеличить время сессии   
    в гугле бан ?

    http://lffate.me/blog/view/kak_prodlit_vremya_sessii_adminki

  9. Upvote
    admin получил репутацию от serga в Модуль Export/Import Tools для 2.х после импорта делает поле "Главная категория" пустой   
    беда модуля в том что он писался под чистый опенкарт и в чистом опенкарте нет такого поля как главная категория и индексация
    собственно модуль надо дописывать
    как вариант вы можете посмотреть как добавлено это поле в модели модуля который адаптирован под окшоп версии 1.5 и есть в разделе дополнений форума
  10. Upvote
    admin изменил репутацию Blade в Ошибка при импорте базы данных   
    Может кто будет искать - ошибка эта из за несовместимости версий MySQL.
    На новом хосте стоит 5.5 на старом еще 5.1
    где эта кодировка не поддерживается
    Как я дважды за три месяца ее переносил загадка)
  11. Upvote
    admin изменил репутацию ummate в как сделать валюту по умолчанию   
    проблема заключалась в обновлении курсов, сейчас его отключил. При обновлении рублю присваивалось значение 1, а остальным валютам 0,000... сколько там. И поначалу все было норм, но после автообновления цены слетали.
    Сейчас товары по прежнему создаю в евро, а курсы обновляю вручную.
  12. Upvote
    admin изменил репутацию savage4pro в CoolBanner v_2.X   
    чтобы понять, что делаете не так, надо понять, что вы вообще делаете
  13. Upvote
    admin получил репутацию от wivern в Переезд с opencart pro на ocstore   
    он наверно настолько известен в узких кругах что даже ссылку давать не обязательно ?
    автор шаблона что говорит ?
  14. Upvote
    admin получил репутацию от rb2 в С какой версии Opencart лучше начинать знакомство с ней??   
    как вам в чем ?
    зайдите посмотрите в демках обе админки
    посмотрите где что функционально
    а еще лучше поставьте все доступное, в любом случае для начинающего это будет полезно
    но если вы все же хотите получить ответ на
    лучше чем чистый опенкарт
  15. Upvote
    admin изменил репутацию Влад в С какой версии Opencart лучше начинать знакомство с ней??   
    начинать лучше с платной. Покупаешь ПРО, ставишь, нихрена не получается, думаешь да ну его нафиг, но тут начинает жаба душить что уплочено и продолжаешь разбираться, в итоге все получается
  16. Upvote
    admin изменил репутацию dolyalexey в ЧПУ в меню в OPENCART.CMS   
    Аха! Заработало! Это чудо! 
    Действительно, у кого хостинг на IIS  система такой файл .htaccess не понимает. 
    Решение очень простое: создать в корне папки сайта файл web.config и прописать туда такой код: 
     
    <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Imported Rule 1" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions> <add input="{HTTP_HOST}" pattern="^example\.com$" /> </conditions> <action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}" /> </rule> <rule name="Imported Rule 2" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" /> </conditions> <action type="Rewrite" url="index.php?_route_={R:1}" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer> </configuration> Вот и все! Спасибо Админу что подсказал куда смотреть. 
    Затем если переедете на UNIX этот удалите а подставите .htaccess 
  17. Upvote
    admin получил репутацию от O!Leg в Правая колонка в карточке товара   
    1. ориентир 18-19 строка
    <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> делаете меняете 6 на 9
    <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-9'; ?> 2. ориентир строка 122-123
    <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-6'; ?> меняете 6 на 3
    <?php if ($column_left || $column_right) { ?> <?php $class = 'col-sm-3'; ?> дальше думаю идея понятна ? если по простому то сумма должна быть 12 и таким образом вы можете менять размер столбцов
  18. Upvote
    admin изменил репутацию rider76 в Производитель в корзине   
    Всем спасибо. Отвечу сам себе, подсказали на другом форуме, может еще кому пригодится.
    Пишу пока для корзины, в оформлении заказа думаю тоже самое.
     
    1. Правим файл catalog\controller\checkout\cart.php
    Ищем строку:
    $this->load->model('tool/upload'); После неё вставляем:
    $this->load->model('catalog/product'); ищем строку:
    foreach ($products as $product) { После неё вставляем:
    $product_info = $this->model_catalog_product->getProduct($product['product_id']); ищем строку:
    $data['products'][] = array( Вставляем в этот массив (в любое место между скобками (), я вставил после 'name'      => $product['name'],) строки:
    'manufacturer' => $product_info['manufacturer'], 'manufacturers' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']),  
    2. Далее открываем файл \catalog\view\theme\ваша_тема\template\checkout\cart.tpl
    и в месте вывода названия производителя вставляем код:
    <a href="<?php echo $product['manufacturers']; ?>"><?php echo $product['manufacturer']; ?><a/>  
  19. Upvote
    admin получил репутацию от alone69li в Меню в ocShop 2 (OpenCart 2)   
    добавил теперь пустит
    они в шаблоне
    я говорил про картинки категорий которые задаются в настройках категорий
  20. Upvote
    admin получил репутацию от alone69li в Меню в ocShop 2 (OpenCart 2)   
    Ну тут сразу есть проблема совместимости со сторонними шаблонами и значит это путь вникуда
    Если вам нужно для собственных нужд вывести картинки категорий
    возьмите шаблон руббер он есть в дополнениях в шаблонах в нем есть вкумод который выводит эти самые картинки в меню
    ну и по аналогии сделайте в своем магазине
    шаблон для 1.5 но отличий под 2.х там не много
    я об этом http://rubber.ocshop.net/
     
    улыбнуло :-)
  21. Upvote
    admin получил репутацию от RHCk в Массовая загрузка изображений   
    ну как минимум бекап вам не помешает
    в любой не понятной ситуации делайте бекап :-)
  22. Upvote
    admin изменил репутацию Robobender в Два поиска в разных местах   
    Подробнее: была необходимость продублировать строку поиска. В моем случае на длинных страницах, для того чтобы было пользователю под рукой.
     
    В верху поиск вставил:
    <div class="input-group my_search" id="search"> <input type="text" class="form-control input-lg" placeholder="Поиск" value="" name="search"> <span class="input-group-btn"> <button class="btn btn-default btn-lg" type="button"><i class="fa fa-search"></i> </button> </span> </div>  
    Common.js изменил блок /* Search */
    $('#search input[name=\'search\']').parent().find('button').on('click', function() { url = $('base').attr('href') + 'index.php?route=product/search'; var value = $('.my_search input[name=\'search\']').val(); if (value) { url += '&search=' + encodeURIComponent(value); } location = url; }); $('#search input[name=\'search\']').on('keydown', function(e) { if (e.keyCode == 13) { $('.my_search input[name=\'search\']').parent().find('button').trigger('click'); } });  
     
    Внизу в footer.tpl :
    <div class="input-group my_search" id="search"> <input type="text" class="form-control input-lg" placeholder="Поиск" value="" name="search1"> <span class="input-group-btn"> <button class="btn btn-default btn-lg" type="button"><i class="fa fa-search"></i> </button> </span> </div> И после первого блока /* Search */ в common.js добавил второй:
    /* Search 2*/ $('#search input[name=\'search1\']').parent().find('button').on('click', function() { url = $('base').attr('href') + 'index.php?route=product/search'; var value = $('.my_search input[name=\'search1\']').val(); if (value) { url += '&search=' + encodeURIComponent(value); } location = url; }); $('#search input[name=\'search1\']').on('keydown', function(e) { if (e.keyCode == 13) { $('.my_search input[name=\'search1\']').parent().find('button').trigger('click'); } });  
    Есть некоторые места которые нужно бы подправить (два id  одинаковых например), но это позже, сейчас всё работает как часы.
     
    P.s. Может решение не элегантное, но действенное )
  23. Upvote
    admin изменил репутацию savage4pro в Хаотичное отображение списка категорий в товаре на вкладке "связи"   
    немного не то правите
    для сортировки "по алфавиту" следует заменить
    $categories = $this->model_catalog_category->getAllCategories(); $data['categories'] = $this->model_catalog_category->getCategories($categories); на
    $filter_data = array( 'sort' => 'name', ); $data['categories'] = $this->model_catalog_category->getCategories($filter_data); а строка
    $categories = $this->model_catalog_category->getAllCategories(); не нужна, т.к. ее данные не соответствуют принимаемым методом модели getCategories, а далее переменная $categories все равно переопределяется
     
     
    и в нагрузку:
    если хочется, чтобы было как в списке категорий, тогда правим еще и метод getCategories модели ModelCatalogCategory
     
    меняем
    $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR '&nbsp;&nbsp;&gt;&nbsp;&nbsp;') AS name, c1.parent_id, c1.sort_order, c1.noindex FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c1 ON (cp.category_id = c1.category_id) LEFT JOIN " . DB_PREFIX . "category c2 ON (cp.path_id = c2.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'"; на
    $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR '&nbsp;&nbsp;&gt;&nbsp;&nbsp;') AS name, REPLACE(RPAD(GROUP_CONCAT(c2.sort_order ORDER BY cp.level SEPARATOR '-'),10,'-0'),'-','')+0 AS basesort, c1.parent_id, c1.sort_order, c1.noindex FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c1 ON (cp.category_id = c1.category_id) LEFT JOIN " . DB_PREFIX . "category c2 ON (cp.path_id = c2.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'"; и
    $sort_data = array( 'name', 'sort_order', 'noindex' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= " ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY sort_order"; } на
    $sort_data = array( 'name', 'sort_order', 'noindex', 'basesort' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'basesort') { $sql .= " ORDER BY basesort " . ((isset($data['order']) && ($data['order'] == 'DESC'))?'DESC':'') . ", " . $data['sort']; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY sort_order"; } и в контроллере вместо 'sort' => 'name' пишем 'sort' => 'basesort'
     
    но тут следует иметь в виду, что порядок сортировки должен быть явно задан для категорий, иначе в выборке будет бардак
  24. Upvote
    admin изменил репутацию RHCk в Настройка SEO для версии 2.0.3.1   
    Если вам нужны seo-url'ы, вот один из отрывков.
    Если вам нужно SEO, то вот вам сюда.
  25. Upvote
    admin изменил репутацию Lordaaa в CoolBanner и ссылки   
    "Дизайн - Баннеры" - там указываются ссылки