COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!
-
Публикации
786 -
Зарегистрирован
-
Посещение
-
Days Won
74
Изменения репутации
-
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
-
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, '', '&'));Проблема найдена благодаря этой теме
-
savage4pro получил репутацию от GATO в Не работают кнопки и Ошибки какие то...
обратный звонок отключите и кэш почистите (с модификаторами), если проблема исчезает, то
выпиливайте из него вот это
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
-
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"> -
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"> -
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...
-
savage4pro получил репутацию от admin в Цвет рамки и кнопки "Купить"
если у стили модулей или бутстрапа не переопределяются вашими, то нужно либо указывать более точно, к какому элементу их применять (самое зубодробильное - писать их инлайн с импортантом)
либо, что гораздо более правильно - завести все же свою тему (это вообще всего касается), и подключать свою таблицу стилей в header.tpl после всех-всех других, т.к. последний загруженный css имеет самый высокий приоритет при прочих равных
-
savage4pro получил репутацию от admin в Настройка внешнего вида и модулей OCSHOP PRO V2.x
понятно
последите, может повторится
с капчей другая интересная история, см http://forum.opencart.pro/index.php?/topic/1675-%D0%BA%D0%B0%D0%BF%D1%87%D0%B0/
-
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, -
savage4pro получил репутацию от BlackSH в Цвет рамки и кнопки "Купить"
если у стили модулей или бутстрапа не переопределяются вашими, то нужно либо указывать более точно, к какому элементу их применять (самое зубодробильное - писать их инлайн с импортантом)
либо, что гораздо более правильно - завести все же свою тему (это вообще всего касается), и подключать свою таблицу стилей в header.tpl после всех-всех других, т.к. последний загруженный css имеет самый высокий приоритет при прочих равных
-
savage4pro получил репутацию от Yoda в Sitemap.PRO 2.X
тогда с поправкой на кавычки
$output .= "\n";
-
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
Банально переписываете файлы поверх
-
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, сбросьте кэш модификаторов и смотрите на созданный временный файл шаблона товара, где там цены, находите строки, которые надо менять и исправляете скачанный модификатор, а затем устанавливаете его по-новой, и будет вам, наконец, щасте
-
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>что приводит к конструкции, которая вводит браузер в замешательство, и на выходе мы имеем что имеем
-
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
будет отображаться в шапке главной страницы
-
savage4pro получил репутацию от admin в Изменение заказа
каких, например?
пока я вижу проблемы только в сосредоточенном курении
public function addOrderHistory() класса ModelCheckoutOrder
на тему:
может просто скопировать с другими языковыми переменными, вызовом другого шаблона и другим текстом для передачи sms гейту, чтобы долго не ломать голову?
а вызывать новый метод в
public function edit() класса ControllerApiOrder
-
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
-
savage4pro получил репутацию от admin в Цвет рамки и кнопки "Купить"
добавлю свои 5 копеек
обратите внимание там же на строку 431
а что касается рамки, то не трогайте bootstrap, а дописывайте в свою css таблицу
.thumbnail { border: 1px solid #одинцвет;}a.thumbnail.active, a.thumbnail:focus, a.thumbnail:hover { border-color: #другойцвет;} -
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');
-
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
-
savage4pro получил репутацию от DronSF в Замена символа рубля
а другие модули пробовали ставить?
в любом случае, если вам кроме как для установки модификаций фтп не нужен, отключите его совсем и используйте этот фикс
http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18892
а если нужен, тогда попробуйте подключиться через любой фтп-клиент с вашими данными и посмотрите, какая папка у данного подключения корневая, от нее и пишите путь до папки, где ваш сайт лежит
-
savage4pro получил репутацию от BlackSH в Цвет рамки и кнопки "Купить"
добавлю свои 5 копеек
обратите внимание там же на строку 431
а что касается рамки, то не трогайте bootstrap, а дописывайте в свою css таблицу
.thumbnail { border: 1px solid #одинцвет;}a.thumbnail.active, a.thumbnail:focus, a.thumbnail:hover { border-color: #другойцвет;} -
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">
-
savage4pro получил репутацию от Blade в Настройка внешнего вида и модулей OCSHOP PRO V2.x
убрать категории "новости" и "обзоры" со страницы Блога
админка: Макеты->Блог, убрать модуль "Категории блога"
чтобы убрать модуль со всех страниц, собственно отключаем его в его же настройках, не деактивацией, если вдруг захочется вернуть как было
-
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 добавить к статьям блога анонсы, которым бы не пришлось резать форматирование