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

savage4pro

Модераторы
  • Публикации

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

  • Посещение

  • Days Won

    74

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

  1. Upvote
    savage4pro получил репутацию от zhukoff в Запрашиваемая страница не найдена!   
    http://forum.opencart.pro/index.php?/topic/1692-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-seo-pro/

    пункт 3

  2. Upvote
    savage4pro получил репутацию от zhukoff в Ошибки seo_pro   
    Тема касается работы встроенного модуля seo_pro, все манипуляции будем производить в файле catalog/controller/common/seo_pro.php
    поехали
    Спорный вопрос, на который натолкнул автор этого поста. Нужен ли именно 301-й редирект, а не 302
    если нужен именно он, то ищем
    header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently'); $this->response->redirect($this->cache_data['queries'][$route_]);и 
    header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently'); $this->response->redirect($seo);заменяем эти блоки на
    $this->response->redirect($this->cache_data['queries'][$route_], 301);и
    $this->response->redirect($seo, 301);соответственно

    а если нужен 302-й редирект, то может быть стоит убрать из обоих блоков эту строку (все равно итоговая страница будет перенаправляться через 302-й, как указано в дефолтном значении Response -> redirect()):
    header($this->request->server['SERVER_PROTOCOL'] . ' 301 Moved Permanently'); Для того, чтобы ssl работал не на всем сайте, а только на страницах, где он должен быть при включении ssl в настройках магазина
    ищем
    $seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), 'NONSSL'));заменяем на
    $seo = str_replace('&', '&', $this->url->link($this->request->get['route'], $this->getQueryString(array('route')), false));Ошибка была найдена благодаря товарищу spown
      Чтобы исправить поведение ссылок на главную страницу, включающих дополнительные аргументы (http://сайт.ру/?utm_campaign=test), необходимо
    найти 
    $link .= '&' . urldecode(http_build_query($data, '', '&'));и заменить на
    $link .= (($route == 'common/home') ? '?' : '&') . urldecode(http_build_query($data, '', '&'));Проблема найдена благодаря этой теме
  3. Upvote
    savage4pro получил репутацию от GATO в Не работают кнопки и Ошибки какие то...   
    обратный звонок отключите и кэш почистите (с модификаторами), если проблема исчезает, то

    выпиливайте из него вот это


    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  4. Upvote
    savage4pro получил репутацию от strateg2010 в Изменение цены при выборе опции без AJAX   
    во-первых, чтобы убить двух зайцев - не дать вкумоду заменять содержимое атрибута content в тэге meta на свои чудеса, и удалить всевозможное форматирование цены, которое когда-нибудь может появиться и вылезет боком, следует заменить в шаблоне товара строки
    <meta itemprop="price" content="<?php echo $price; ?>"><meta itemprop="price" content="<?php echo $special; ?>">на
    <meta itemprop="price" content="<?php echo strip_tags($price); ?>"><meta itemprop="price" content="<?php echo strip_tags($special); ?>">соответственно
     
    ну и для того, чтоб js отрабатывал, не хватало класса .option в обертках элементов форм
    т.е. примерно такие строки (не только 'select', но и остальных типов опций касается)
    <?php if ($option['type'] == 'select') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">заменить на примерно такие
    <?php if ($option['type'] == 'select') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?> option">
  5. Upvote
    savage4pro получил репутацию от saunamari в Изменение цены при выборе опции без AJAX   
    во-первых, чтобы убить двух зайцев - не дать вкумоду заменять содержимое атрибута content в тэге meta на свои чудеса, и удалить всевозможное форматирование цены, которое когда-нибудь может появиться и вылезет боком, следует заменить в шаблоне товара строки
    <meta itemprop="price" content="<?php echo $price; ?>"><meta itemprop="price" content="<?php echo $special; ?>">на
    <meta itemprop="price" content="<?php echo strip_tags($price); ?>"><meta itemprop="price" content="<?php echo strip_tags($special); ?>">соответственно
     
    ну и для того, чтоб js отрабатывал, не хватало класса .option в обертках элементов форм
    т.е. примерно такие строки (не только 'select', но и остальных типов опций касается)
    <?php if ($option['type'] == 'select') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">заменить на примерно такие
    <?php if ($option['type'] == 'select') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?> option">
  6. Upvote
    savage4pro получил репутацию от ribak в Изменение цены при выборе опции без AJAX   
    бесплатно же, ну как хотите

    тогда посмотрите сначала на предмет вкумода, добавляющего разметку, и на результат этой деятельности в виде шаблона, который и будет основной для работы вашего autocalc_price_option_v2...

    примерная схема действий

    1. удалите autocalc_price_option_v2..., обновите кэш и откройте страницу товара

    2. загляните в vqmod/vqcache, есть ли там файл vq2-catalog_view_theme_ваша-тема_template_product_product.tpl

    3. если файл есть, найдите в нем примерно такую строку


    <meta itemprop="price" content="

    4. если в изначальном шаблоне товара (или шаблонах модулей, изменяющих вывод цены) вашей темы этих строк не было, значит их добавляет какой-то vqmod

    5. найдите его по этой же строке в файлах папки vqmod/xml, перенесите его куда-нибудь, и удалите содержимое vqmod/vqcache (ну кроме index.html)

    6. установите autocalc_price_option_v2... и посмотрите, останется ли проблема, скорей всего, проблема с дублированием цены уйдет, если все пункты до этого пройдены успешно, 

    7. в этом случае возвращаем найденный вкумод, добавляющий разметку, и повторяем пункты 1-2

    8. анализируем vq2-catalog_view_theme_ваша-тема_template_product_product.tpl на предмет строк, которые должен заменять ваш модуль autocalc_price_option_v2...

  7. Upvote
    savage4pro получил репутацию от admin в Цвет рамки и кнопки "Купить"   
    если у стили модулей или бутстрапа не переопределяются вашими, то нужно либо указывать более точно, к какому элементу их применять (самое зубодробильное - писать их инлайн с импортантом)

    либо, что гораздо более правильно - завести все же свою тему (это вообще всего касается), и подключать свою таблицу стилей в header.tpl после всех-всех других, т.к. последний загруженный css имеет самый высокий приоритет при прочих равных

  8. Upvote
    savage4pro получил репутацию от admin в Настройка внешнего вида и модулей OCSHOP PRO V2.x   
    понятно

    последите, может повторится

    с капчей другая интересная история, см http://forum.opencart.pro/index.php?/topic/1675-%D0%BA%D0%B0%D0%BF%D1%87%D0%B0/

  9. Upvote
    savage4pro получил репутацию от RHCk в Яша не хочет индексировать (PRO v2.1.0.1.6)   
    эта ошибка, очевидно, связана с индексацией производителей
    ModelCatalogProduct -> getProduct
    на выходе мы получаем два значения поля `noindex` - из таблицы `oc_product` и `oc_manufacturer`
    т,е. мы имеем не работающую функциональность вкл/откл индекса у товаров совсем
    если есть производитель, то берется его значение, если производитель не назначен, то null, значения нет совсем

    решение в файле catalog/model/catalog/product.php
    найти в запросе
    SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer,заменить на
     
    вариант 1:
    для того, чтобы получать еще одну колонку (для запросов так лучше не делать, но т.к. php-шная библиотека использует простой перебор, то запишется последний ключ)
    SELECT DISTINCT *, pd.name AS name, p.noindex, p.image, m.name AS manufacturer,вариант 2:
    вообще от производителя для модели товара нужно только его название (идентификатор есть в `oc_product`, а картинка и так не забирается), поэтому, как вариант, можно получать данные не из всех таблиц, а выборочно:
    SELECT DISTINCT p.*, pd.*, p2s.*, m.name AS manufacturer,
  10. Upvote
    savage4pro получил репутацию от BlackSH в Цвет рамки и кнопки "Купить"   
    если у стили модулей или бутстрапа не переопределяются вашими, то нужно либо указывать более точно, к какому элементу их применять (самое зубодробильное - писать их инлайн с импортантом)

    либо, что гораздо более правильно - завести все же свою тему (это вообще всего касается), и подключать свою таблицу стилей в header.tpl после всех-всех других, т.к. последний загруженный css имеет самый высокий приоритет при прочих равных

  11. Downvote
    savage4pro получил репутацию от Yoda в Sitemap.PRO 2.X   
    тогда с поправкой на кавычки

    $output .= "\n";

  12. Upvote
    savage4pro изменил репутацию admin в Релиз OPENCART.CMS 2.1.0.1.10   
    Обновление до версии OCSHOP 2.1.0.1.6
    История изменения версий

    В версии CMS:
    1. исправлен регион
    2. исправлена Ошибка в Заказы-Изменение-Подарочный сертификат [Подробнее]
    3. добавлен переход в каталог из админ панели в товар \ категорию \ производителя \ статью
    4. добавлена очистка кэша при добавлении товара \ категории \ производителя \ статей
    5. добавлено название в заголовке при редактированиии товара \ категории \ производителя \ статей

    В сборке все файлы уже исправлены но для упрощения обновления можно использовать архив с обновлением данного релиза.

    В версии PRO:
    1. Вошли изменения версии CMS
    2. Новый модуль Sitemap.Pro 2x

    Все купившие OCSHOP.PRO могут получить Бесплатные обновления на http://liveopencart.ru/

    Для новых покупателей с сегодняшнего дня цена составляет 500 рублей.

    Как обновиться?
    В обоих версиях есть архивы update_pro_2_1_0_1_6.zip и update_cms_2_1_0_1_6.zip
    Банально переписываете файлы поверх
  13. Upvote
    savage4pro получил репутацию от ribak в Изменение цены при выборе опции без AJAX   
    так это ж шаблон от опенкарта 2.х, вы что ставите, что он у вас ищет "price-old"?
    во-первых, полагаю, вам нужна вот эта версия файла: autocalc_price_option_v2.0.18_opencart2.ocmod.xml
    во-вторых, даже нужная версия вас вряд ли избавит от страха божьего под ценой, пока вы не поправите этот окмод-модификатор (или не отключите микроразметку), исправив заменяемые строки вида 
    <search><![CDATA[<?php echo $special; ?>]]></search>...<search><![CDATA[<?php echo $price; ?>]]></search>...<search><![CDATA[<?php echo $tax; ?>]]></search>на поиски конкретных строк, получаемых после их обработки для микроразметки
     
    удалите autocalc_price_option...xml, сбросьте кэш модификаторов и смотрите на созданный временный файл шаблона товара, где там цены, находите строки, которые надо менять и исправляете скачанный модификатор, а затем устанавливаете его по-новой, и будет вам, наконец, щасте
  14. Upvote
    savage4pro получил репутацию от ribak в Изменение цены при выборе опции без AJAX   
    вот не знаю, где у вас эта разметка
    может вы ее в шаблон вручную пишете?
    вижу только результат в полученном коде страницы
     
    так вот этот "0 руб." в шаблоне, очевидно, задается как
    <?php echo $price; ?>а все такие строки чохом заменяются модификатором autocalc_price_option_v2.0.18.xml (другие версии не смотрел) на 
    <span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span>что приводит к конструкции, которая вводит браузер в замешательство, и на выходе мы имеем что имеем
  15. Upvote
    savage4pro получил репутацию от admin в Слайдер на всю ширину экрана   
    а пока не наступил тот счастливый момент, я заленился писать модуль и пользуюсь примерно таким костылем в ControllerCommonHeader


    if ($data['class'] == 'common-home') {
    $homeslider_settings = array(
    'banner_id' => "7"
    ,'width' => "1140"
    ,'height' => "325"
    );
    $data['homeslider'] = $this->load->controller('module/slideshow', $homeslider_settings);
    } else {
    $data['homeslider'] = false;
    }


    и вывожу этот homeslider в шаблоне header.tpl

    будет отображаться в шапке главной страницы

  16. Upvote
    savage4pro получил репутацию от admin в Изменение заказа   
    каких, например?

     

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

    public function addOrderHistory() класса ModelCheckoutOrder

    на тему:

    может просто скопировать с другими языковыми переменными, вызовом другого шаблона и другим текстом для передачи sms гейту, чтобы долго не ломать голову?

    а вызывать новый метод в

    public function edit() класса ControllerApiOrder

  17. Upvote
    savage4pro получил репутацию от BlackSH в Ценник в табах   
    .product-thumb .caption {
    padding: 0 20px;
    min-height: 180px;
    position: relative;
    }

    .product-thumb .caption h4+p {
    line-height: 20px;
    max-height: 100px;
    overflow: hidden;
    }

    .product-thumb .price {
    text-align: right;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 0 20px;
    }


    расположение блока с ценой справа-снизу

    ограничение высоты описания - 5 строк при line-height: 20px
  18. Upvote
    savage4pro получил репутацию от admin в Цвет рамки и кнопки "Купить"   
    добавлю свои 5 копеек
    обратите внимание там же на строку 431
     
    а что касается рамки, то не трогайте bootstrap, а дописывайте в свою css таблицу

    .thumbnail { border: 1px solid #одинцвет;}a.thumbnail.active, a.thumbnail:focus, a.thumbnail:hover { border-color: #другойцвет;}
  19. Upvote
    savage4pro получил репутацию от admin в Ошибка в Заказы-Изменение-Подарочный сертификат   
    Версия 2.1

     

    при применении подарочного сертификата во время создания/изменения заказа из админки

    скрин http://take.ms/X39K6

     

    решение:

     

    в catalog/controller/api/voucher.php

    найти строку


    $voucher_info = $this->model_total_voucher->getVoucher($voucher);

    добавить перед ней


    $this->load->model('total/voucher');

  20. Upvote
    savage4pro получил репутацию от bazilio в Замена символа рубля   
    Замена символа рубля
    Мод заменяет знак валюты рубля на симпатичный почти уже стандартный символ (U+20BD), представленный в наборе глифов шрифта "Roboto" от Christian Robertson.
    Подходит для любого шаблона OpenCart / Ocshop (OpenCart.PRO/CMS) / OcStore версий 2.x при отсутствии прямых модификаций ядра.
     
    Схема работы:
    добавляет в БД новую таблицу `oc_currency_modsymbols` с одной записью - для валюты с кодом RUB на этапе выборки данных о валютах оборачивает оригинальный символ в конструкцию для обработки подключаемыми при загрузке страницы стилями не ломает возможность менять оригинальный символ в админке, который будет показан при выводе шаблонов, в которых нет возможности подключать дополнительные стили (например, почтовые уведомления), пробелы до/после оригинального символа выносятся за пределы конструкции, т.е. сохраняются после установки можно вручную добавлять записи в таблицу `oc_currency_modsymbols` для форматирования символов валют по желанию (для включения в конечную строку стандартного значения, т.е. для автозамены, вместо него следует указать "_default_symbol_") мод можно безболезненно отключать/удалять, функциональность при этом вернется к стандартной  
    Установка:
    Бекап! загрузить модуль через Extensions / Extension Installer обновить кэш модификаций на странице Extensions / Modifications обновить системный кэш  
    Удаление:
    Бекап! удалить мод на странице Extensions / Modifications, там же обновить кэш модификаций обновить системный кэш вручную удалить из БД таблицу `oc_currency_modsymbols` вручную удалить файлы catalog/view/theme/default/stylesheet/roboto-forced.css и roboto-forced.min.css вручную удалить файлы catalog/view/theme/default/stylesheet/font/google/roboto-subset-latin-ext-*.*  
    При обновлении с предыдущих версий рекомендуется полное их удаление.
     
    В случае некорректного отображения блока с форматированной ценой (например, вылезающие закрывающие теги вида: руб." />") необходимо в шаблоне, где эта цена выводится, оборачивать её вывод в strip_tags();
     
    С 2016-11-28 (v.2.5.1) в комплекте идет сабсет (latin-ext, webfont) шрифта Roboto для совместимости с браузерами, которые блокируют подгрузку внешних шрифтов (да, это про тебя, IE9, гори в аду!)
    Автор savage4pro Добавлен 21.10.2015 Категория 2.х  
    pt-sans-ruble-symbol.ocmod.zip
    roboto-ruble-symbol.ocmod.zip
    roboto-rouble-symbol-2.5.ocmod.zip


  21. Upvote
    savage4pro получил репутацию от DronSF в Замена символа рубля   
    а другие модули пробовали ставить?

     

    в любом случае, если вам кроме как для установки модификаций фтп не нужен, отключите его совсем и используйте этот фикс

    http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18892

     

    а если нужен, тогда попробуйте подключиться через любой фтп-клиент с вашими данными и посмотрите, какая папка у данного подключения корневая, от нее и пишите путь до папки, где ваш сайт лежит

  22. Upvote
    savage4pro получил репутацию от BlackSH в Цвет рамки и кнопки "Купить"   
    добавлю свои 5 копеек
    обратите внимание там же на строку 431
     
    а что касается рамки, то не трогайте bootstrap, а дописывайте в свою css таблицу

    .thumbnail { border: 1px solid #одинцвет;}a.thumbnail.active, a.thumbnail:focus, a.thumbnail:hover { border-color: #другойцвет;}
  23. Upvote
    savage4pro получил репутацию от Blade в Настройка внешнего вида и модулей OCSHOP PRO V2.x   
    изменить открытый по умолчанию таб

    catalog/view/theme/тема/template/module/product_tab.tpl

    меняем


    <ul class="nav nav-tabs">
    <li class="active"><a href="#tab-latest" data-toggle="tab"><?php echo $tab_latest; ?></a></li>
    <?php if ($special_products) { ?>
    <li><a href="#tab-special" data-toggle="tab"><?php echo $tab_special; ?></a></li>
    <?php } ?>
    <?php if ($bestseller_products) { ?>
    <li><a href="#tab-bestseller" data-toggle="tab"><?php echo $tab_bestseller; ?></a></li>
    <?php } ?>
    <?php if ($featured_products) { ?>
    <li><a href="#tab-featured" data-toggle="tab"><?php echo $tab_featured; ?></a></li>
    <?php } ?>
    </ul>


    на


    <ul class="nav nav-tabs">
    <li<?php echo (!$featured_products)?' class="active"':''; ?>><a href="#tab-latest" data-toggle="tab"><?php echo $tab_latest; ?></a></li>
    <?php if ($special_products) { ?>
    <li><a href="#tab-special" data-toggle="tab"><?php echo $tab_special; ?></a></li>
    <?php } ?>
    <?php if ($bestseller_products) { ?>
    <li><a href="#tab-bestseller" data-toggle="tab"><?php echo $tab_bestseller; ?></a></li>
    <?php } ?>
    <?php if ($featured_products) { ?>
    <li class="active"><a href="#tab-featured" data-toggle="tab"><?php echo $tab_featured; ?></a></li>
    <?php } ?>
    </ul>


    далее меняем


    <div class="tab-pane active" id="tab-latest">

    на


    <div class="tab-pane<?php echo (!$featured_products)?' active':''; ?>" id="tab-latest">

    и еще меняем


    <div class="tab-pane" id="tab-featured">

    на


    <div class="tab-pane<?php echo ($featured_products)?' active':''; ?>" id="tab-featured">
  24. Upvote
    savage4pro получил репутацию от Blade в Настройка внешнего вида и модулей OCSHOP PRO V2.x   
    убрать категории "новости" и "обзоры" со страницы Блога

    админка: Макеты->Блог, убрать модуль "Категории блога"

    чтобы убрать модуль со всех страниц, собственно отключаем его в его же настройках, не деактивацией, если вдруг захочется вернуть как было

  25. Upvote
    savage4pro получил репутацию от Blade в Настройка внешнего вида и модулей OCSHOP PRO V2.x   
    текст в правом блоке и есть краткое описание, но если нужно совсем краткое, то стоит попросить admin внести изменения в контроллер 

    catalog/controller/blog/latest.php

    в частности, заменить


    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 500) . '..',

    на 


    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('configblog_article_description_length')) . '..',

    и пока это не вошло в обновление, а очень хочется, то сделать это самому

    либо править шаблон catalog/view/theme/default/template/blog/latest.tpl

    менять


    <p class="description"><?php echo $article['description']; ?></p>

    на


    <p class="description"><?php echo utf8_substr(rtrim($article['description'],'.'),0,200); ?>..</p>

    где 200 = настройка configblog_article_description_length = Количество символов (Витрина) в настройках блога

     

    а вот с абзацами и отступами - никак, ибо strip_tags, можно только со стилями поиграться

    и далее просить того же admin добавить к статьям блога анонсы, которым бы не пришлось резать форматирование