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

savage4pro

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

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

  • Посещение

  • Days Won

    74

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

  1. Upvote
    savage4pro изменил репутацию admin в Произвольные ссылки в дизайн-меню   
    пока из вашего объяснения все понятно что ничего не понятно :-)
    ждем следующее обновление ваших изысканий :-)
  2. Upvote
    savage4pro получил репутацию от BlackSH в Ценник в табах   
    если я что-нибудь в чем-нибудь понимаю, то как-то так


    .common-home .tab-pane .price {
    float: right;
    text-align: right;
    font-size: 120%;
    }
    .common-home .tab-pane .price>span.price-tax {
    font-size: 90%;
    }
  3. Upvote
    savage4pro получил репутацию от admin в Ценник в табах   
    если я что-нибудь в чем-нибудь понимаю, то как-то так


    .common-home .tab-pane .price {
    float: right;
    text-align: right;
    font-size: 120%;
    }
    .common-home .tab-pane .price>span.price-tax {
    font-size: 90%;
    }
  4. Upvote
    savage4pro получил репутацию от admin в Замена символа рубля vQmod   
    Замена символа рубля vQmod
    Требуется vQmod версии 2.4.1 (идет в комплекте с ocshop 1.5.6.4.1).
     
    Отличия от версии для 2.x
    проверка таблицы (в случае отсутствия таблицы - создание, если пустая - заполнение) при каждом вызове конструктора класса Currency обрезка тэгов символов валют в input'е над ползунком coolfilter (если есть) процесс установки  
     
    Установка:
    скопируйте содержимое папки "upload" в корень вашего сайта удалите файлы "/vqmod/vqcache/vq2-*" зайдите в панель администратора и очистите кэш vqmod и системный  
    В случае некорректного отображения блока с форматированной ценой (например, вылезающие закрывающие теги вида: руб." />") необходимо в шаблоне, где эта цена выводится, оборачивать её вывод в strip_tags();
    Автор savage4pro Добавлен 24.10.2015 Категория 1.5.x Opencart  
    Скачать Замена символа рубля vQmod
    vqmod_pt-sans-ruble-symbol.zip

  5. Upvote
    savage4pro получил репутацию от SharkX58 в Замена символа рубля vQmod   
    Замена символа рубля vQmod
    Требуется vQmod версии 2.4.1 (идет в комплекте с ocshop 1.5.6.4.1).
     
    Отличия от версии для 2.x
    проверка таблицы (в случае отсутствия таблицы - создание, если пустая - заполнение) при каждом вызове конструктора класса Currency обрезка тэгов символов валют в input'е над ползунком coolfilter (если есть) процесс установки  
     
    Установка:
    скопируйте содержимое папки "upload" в корень вашего сайта удалите файлы "/vqmod/vqcache/vq2-*" зайдите в панель администратора и очистите кэш vqmod и системный  
    В случае некорректного отображения блока с форматированной ценой (например, вылезающие закрывающие теги вида: руб." />") необходимо в шаблоне, где эта цена выводится, оборачивать её вывод в strip_tags();
    Автор savage4pro Добавлен 24.10.2015 Категория 1.5.x Opencart  
    Скачать Замена символа рубля vQmod
    vqmod_pt-sans-ruble-symbol.zip

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

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

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

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

    Для новых покупателей с сегодняшнего дня цена составляет 400 рублей.
  7. Upvote
    savage4pro получил репутацию от Stethem в Сделать содержание статьи с помощью якоря   
    решение на коленке примерно следующее
    1. в описании статьи втыкаете куда хотите заголовки типа <h3 class="articleContents">Пункт содержания</h3>
    в шаблоне пишете что-то вроде такого (чуть подправил preg_match_all 2015-10-27 09:57)
    $contentsClass = "articleContents";//preg_match_all("%(<h[0-9].*class\=\"".$contentsClass."\"[^>]*)>(.*)</h[^>]+>%U",$description,$matches,PREG_SET_ORDER);preg_match_all("%(<h[0-9].*class\=\"".$contentsClass."\"[^>]*)>([^<]+)</h[^>]+>%Uis",$description,$matches,PREG_SET_ORDER);$contentsList = array();$replaceFrom = array();$replaceTo = array();if (!empty($matches)) { foreach($matches as $idx => $contentsItem) { $iterated = ' contentsItem="idx-'.$idx.'"'; $replaceFrom[] = $contentsItem[0]; $replaceTo[] = str_replace($contentsItem[1],$contentsItem[1].$iterated,$contentsItem[0]); $contentsList[] = '<li contentsTarget="idx-'.$idx.'">'.trim(strip_tags($contentsItem[2])).'</li>'; }}$contents = '';if (!empty($contentsList)) { $contents = "\n\n<ul class=\"contents-list\">\n".implode("\n",$contentsList)."\n</ul>\n\n";}if (!empty($contents) && !empty($replaceFrom) && !empty($replaceTo)) { $description = '<div class="hiddenArticleDescription" style="display:none">'.str_replace($replaceFrom,$replaceTo,$description).'</div>';}echo '<div class="description-wrap">'.$contents.$description.'</div>';2. в JS примерно такую конструкцию jquery
    var gotoProcess = false;$('ul.contents-list>li').click(function() { if (gotoProcess == false) { gotoProcess = true; var descel = $(this).closest('.description-wrap').find('.hiddenArticleDescription'); if (descel.is(":visible") == false) { descel.show(); } var tgt = descel.find('[contentsItem="' + $(this).attr('contentsTarget') + '"]').first(); $('html, body').animate({ scrollTop: tgt.offset().top }, 500, function() { gotoProcess = false; }); return false; }});в стилях уж наверное оформите как-нибудь
  8. Upvote
    savage4pro получил репутацию от Stethem в Сделать содержание статьи с помощью якоря   
    и в хроме все плохо, и где угодно

     

    первое (обязательное) - для применения якоря, давайте в ссылке весь адрес от вашего

    <base href="http://fillheat.ru/" />


    либо уберите base вовсе, а в ссылке указывайте просто "#anchor"

     

    второе (крайне желательное) - если уж используете id, они должны быть уникальны, и начинаться с буквы латинского алфавита
  9. Upvote
    savage4pro получил репутацию от admin в Обозначение рубля РФ (ocShop v2.1.0.1.3)   
    одни никарагуанцы ничего не скажут и молча оставят на всякий случай гондурас
  10. Upvote
    savage4pro получил репутацию от WarStyle в Обозначение рубля РФ (ocShop v2.1.0.1.3)   
    одни никарагуанцы ничего не скажут и молча оставят на всякий случай гондурас
  11. Upvote
    savage4pro получил репутацию от Pelmen в Произвольные ссылки в дизайн-меню   
    указывать вместе с доменным именем сайта, что не всегда приемлимо
     
    с произвольными ссылками в меню пока, к сожалению, все не совсем так, как хотелось бы

    поэтому временно (до выхода обновления по меню) для себя решил данную задачу изменением шаблона, в котором оно выводится
    например, в дефолтном шаблоне оно выводится в /catalog/view/theme/default/template/common/header.tpl
    мое решение такое
    заменить
    <?php foreach ($categories as $category) { ?> <?php if ($category['children']) { ?> <li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a> <div class="dropdown-menu"> <div class="dropdown-inner"> <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?> <ul class="list-unstyled"> <?php foreach ($children as $child) { ?> <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li> <?php } ?> </ul> <?php } ?> </div> <a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div> </li> <?php } else { ?> <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li> <?php } ?> <?php } ?>на
    <?php foreach ($categories as $category) { ?> <?php $showHref = false; $tmpHref = explode('index.php?route=', $category['href']); if (isset($tmpHref[1]) && !empty($tmpHref[1])) { $showHref = true; if (substr($tmpHref[1], 0,1)=='/') { $category['href'] = $tmpHref[1]; } } else if (isset($tmpHref[0])) { $tmpHrefPath = str_replace('/', '', parse_url($tmpHref[0],PHP_URL_PATH)); if (!empty($tmpHrefPath)) { $showHref = true; $category['href'] = $tmpHref[0]; } unset($tmpHrefPath); } $category['href'] = html_entity_decode($category['href']); ?> <?php if ($category['children']) { ?> <li class="dropdown"><a href="<?php echo ($showHref)?$category['href']:''; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a> <div class="dropdown-menu"> <div class="dropdown-inner"> <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?> <ul class="list-unstyled"> <?php foreach ($children as $child) { ?> <?php $showHrefChild = false; $tmpHrefChild = explode('index.php?route=', $child['href']); if (isset($tmpHrefChild[1]) && !empty($tmpHrefChild[1])) { $showHrefChild = true; if (substr($tmpHrefChild[1], 0,1)=='/') { $child['href'] = $tmpHrefChild[1]; } } else if (isset($tmpHrefChild[0])) { $tmpHrefChildPath = str_replace('/', '', parse_url($tmpHrefChild[0],PHP_URL_PATH)); if (!empty($tmpHrefChildPath)) { $showHrefChild = true; $child['href'] = $tmpHrefChild[0]; } unset($tmpHrefChildPath); } $child['href'] = html_entity_decode($child['href']); ?> <li><a href="<?php echo ($showHrefChild)?$child['href']:''; ?>"><?php echo $child['name']; ?></a></li> <?php unset($tmpHrefChild); unset($showHrefChild); ?> <?php } ?> <?php if ($showHref) { ?> <li role="separator" class="divider"></li> <li><a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a></li> <?php } ?> </ul> <?php } ?> </div> </div> </li> <?php } else { ?> <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li> <?php } ?> <?php unset($tmpHref); unset($showHref); ?> <?php } ?>после этого можно использовать произвольные ссылки в меню в более удобоваримом виде, т.е. добавлять как сео-ссылки типа "/auto" (такие ссылки должны начинаться на слэш), так и относительные типа "product/product&path=20&product_id=35" (они будут в итоге слеплены со стандартным началом: "сайт.ру/index.php?route=", или сразу можно в полном виде добавлять)
     
    но если где-то еще меню выводить, то либо надо и там похожую канитель выписывать, либо решать уже по-человечески - правкой контроллера
     
    ах да, чуть не забыл, при такой замене кода шаблона, можно вообще ссылки не указывать для верхних пунктов меню, в этом случае они будут работать как табы и после дочерних пунктов также не будет пункта "Смотреть Все ..."
    и там же немного изменен вывод этого пункта, в виде более логичном - как продолжение списка, вместо имеющегося по дефолту прекращения списка и расположения ссылки следующим после него элементом, правда, вероятно, стили несколько покосятся, и придется вам либо вернуть этот кусочек на дефолтный, либо поправить стили, не уверен, у меня просто стили по ходу пишутся, поэтому сходу сказать, что в css надо для этого менять, а что нет, не смогу
  12. 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


  13. Upvote
    savage4pro получил репутацию от Maska в Произвольные ссылки в дизайн-меню   
    Версия 2.1.0.1.2
     
    Дизайн -> Меню
    добавление "Произвольных ссылок" приводит к небольшому вороху ошибок
    в итоге js-ом создается пункт, который можно, конечно, редактировать и уже сохранить, но это как-то неправильно
     
     
     
    при этом создается новая запись menu_id в таблице menu, но не добавляется запись в таблицу menu_description
    метод add класса ModelDesignMenu, по всей видимости писали разные люди, или один, но с перерывом на какое-нибудь радостное событие
     
    вариант решения
    /admin/model/design/menu.php:77-82
    заменить
    $query = new stdClass(); $query->rows = array(); foreach ($languages as $language) { $query->rows[] = array('name' => $data['name'], 'language_id' => $language['language_id']); }на
                $data['menu_desc'] = array();            foreach ($languages as $language) {                $data['menu_desc'][] = array('name' => $data['name'], 'language_id' => $language['language_id']);            }
  14. Upvote
    savage4pro получил репутацию от Pelmen в Произвольные ссылки в дизайн-меню   
    Версия 2.1.0.1.2
     
    Дизайн -> Меню
    добавление "Произвольных ссылок" приводит к небольшому вороху ошибок
    в итоге js-ом создается пункт, который можно, конечно, редактировать и уже сохранить, но это как-то неправильно
     
     
     
    при этом создается новая запись menu_id в таблице menu, но не добавляется запись в таблицу menu_description
    метод add класса ModelDesignMenu, по всей видимости писали разные люди, или один, но с перерывом на какое-нибудь радостное событие
     
    вариант решения
    /admin/model/design/menu.php:77-82
    заменить
    $query = new stdClass(); $query->rows = array(); foreach ($languages as $language) { $query->rows[] = array('name' => $data['name'], 'language_id' => $language['language_id']); }на
                $data['menu_desc'] = array();            foreach ($languages as $language) {                $data['menu_desc'][] = array('name' => $data['name'], 'language_id' => $language['language_id']);            }
  15. Upvote
    savage4pro получил репутацию от admin в не подгружается featured.tpl, если его нет в новом шаблоне сайта   
    Версия 2.1.0.1.2

    (в футере админки, кстати, Версия 2.1.0.1.1, но не суть)

     

    Условия:

    1. чистая установка 2.1.0.1.1 + обновление до 2.1.0.1.2

    2. создан новый (почти) пустой шаблон сайта, т.о. большинство файлов шаблон берется из default

     

    Ошибка при попытке открыть любую страницу блога (/index.php?route=blog/latest, /obzori/, /index.php?route=blog/article&blog_category_id=69&article_id=125 и т.д.):


     

    Решение:

     

    найти в


    /catalog/controller/module/blog_featured.php:67
    текст


    return $this->load->view('default/template/module/blog/featured.tpl', $data);
    и исправить его на


    return $this->load->view('default/template/blog/module/featured.tpl', $data);