Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Leaderboard

Popular Content

Showing content with the highest reputation on 05/01/2023 in all areas

  1. Version 1.0.0

    235 downloads

    НЕ всі поля потрібні при створенні/редагуванні товару І не всі таби Модуль дозволяє керувати видимістю полів та табів для опенкарт/ оксторе Встановити Активувати модуль Приховування полів у картці товару: Додати поля (назви полів) - приклад weight_class_id length_class_id Додати вкладки - приклад tab-recurring tab-reward.
    Free
    1 point
  2. Все мы знаем как популярны сейчас responsive (адаптивные) шаблоны и все так современно и удобно с ними, что как бы мобильную версию магазина и не надо. Но у меня возникла необходимость реализовать именно мобильную версию сайта с переходом на поддомен m.domain.com, как это сделано на lamoda.ru (m.lamoda.ru работает только с моб. девайсов). Нужно было сделать, моб.версию магазина с одинаковой базой товаров и категорий, но естественно с другим отображением и с возможностью перейти на полную версию магазина с мобильного устройства и обратно. Что было сделано: Определение с какого устройства зашел пользователь - был использован php class Mobile_Detect.php (https://github.com/serbanghita/Mobile-Detect) 1. Добавление библиотеки файл mobile_detect.php залить в папку system/library в файле system/startup.php после строки library/config.php подключаем mobile_detect.php require_once(DIR_SYSTEM . 'library/Mobile_Detect.php'); $detect = new Mobile_Detect(); define('isMobile', $detect->isMobile(), false);//Это используем define('isTablet', $detect->isTablet(), false); //Это используем //Остальные в принципе не нужны define('isiOS', $detect->isiOS(), false); define('isAndroidOS', $detect->isAndroidOS(), false); isMobile, isTablet - определяет тип устройства - телефон или планшет isiOS, isAndroindOS, isBlackBerryOS, isSymbainOS, isWindowsPhoneOS и так далее - определяет ОС посетителя (если не собератетесь делать моб.версию под отдельную ОС, можете не использовать вообще =) ) 2. Определение устройства посетителя и редирект на поддомен (лично я не использую этот способ) Далее будем использовать эти константы (isMobile...)для действий переадресации на моб. версию теперь в контроллере header.php после protected function index() { пишем следующее $detect = new Mobile_Detect(); if ($detect->isMobile()){ if (isset($this->request->server['HTTPS'])) { $mobile_redirect = 'https://m.mystore.com'; } else { $mobile_redirect = 'http://m.mystore.com'; } if ($_SERVER['REQUEST_URI']) $mobile_redirect .= html_entity_decode($_SERVER['REQUEST_URI']); header('Location: '.$mobile_redirect); } Это собственно и заставит перенаправить пользователя на мобильную версию (или другой URL), если он зашел с мобильного. С условиями можете сами крутить detect->isMobile() - только для мобильных $detect->isTablet() - только для планшетов $detect->isMobile() || $detect->isTablet() - для обоих и так далее Это первый вариант (не очень удачный), когда пользователь попадает на мобильную версию, то обратно на полную не зайдет. Решение для перехода обратно, путем записи параметра в COOKIE. Вместо кода предложенного выше в контроллере header.php после protected function index() { пишем $detect = new Mobile_Detect(); if($detect->isMobile()) { if (isset($this->request->server['HTTPS'])) { $mobile_redirect = 'https://m.mystore.com'; } else { $mobile_redirect = 'http://m.mystore.com'; } if(isset($_REQUEST['ver']) and $_REQUEST['ver'] === 'full') { if(empty($_COOKIE['ver'])) setcookie('ver', 'full', time() + 86400, '/', '.mystore.com'); //будет работать для всех поддоменов, подробнее читайте на php.su setcookie() } else { header('Location: '.$mobile_redirect); } } В этом случае _mobile (префикс шаблона который стоит по умолчанию), то есть если папка с шаблоном по-умолчанию (для полной версии) 'default', а для мобильной соответственно 'default_mobile' На мобильной версии можете разместить ссылку на полную страницу по типу <a href="http://mystore.com/?ver=full">Полная версия</a> где ?ver=full - параметр что мы записали в куки. Вроде все. P.S Есть еще вариант сделать это через .htaccess - работает безотказно, но придется перечислить весь список мобильных девайсов ну и в полную версию вернуться нельзя. Решение для тех кому просто нужна смена шаблона в зависимости от устройства без поддомена (Работает на живом сайте paffos ru) 1. Добавляем библиотеку MobileDetect как это было описано выше в п.1 2. Затем в корне сайта в файле index.php перед // Currency $registry->set('currency', new Currency($registry)); добавляем //Mobile if(isMobile && !isTablet && $_COOKIE['ver'] !== 'full'){ $config->set('config_template', 'default_mobile'); }elseif(isMobile && !isTablet && $_COOKIE['ver'] == 'full'){ $config->set('config_template', 'default'); } Так мы определим устройство того кто зашел и в случае если он зашел с телефона (не с планшета) мы проверяем наличие куки ver и ее значение, если значение не Full, то грузим шаблон default_mobile, в противном случае грузим шаблон default 3. При заходе на шаблон нам нужно записать куки, что бы пользователя не кидало на неверный сразу же и при последующих заходах (если не чистили куки в браузере) В файле header.tpl каждого шаблона перед <link rel="stylesheet" type="text/css" href="catalog/view/theme/default_mobile/stylesheet/stylesheet.css" /> - добавляем запись куки mobile в мобильном шаблоне <?php setcookie('ver', 'mobile', time() + 60 * 60 * 24 * 30, '/'); ?> - добавляем запись куки full в обычном шаблоне <?php setcookie('ver', 'full', time() + 60 * 60 * 24 * 30, '/'); ?> 4. Если же пользователю надо дать возможность переходить с мобильной версии на полную и наоборот. В контроллере footer.php добавляем запись для проверки отображать нам кнопку переход в полную версию или нет (В примере условие только для мобильных) if(isMobile && !isTablet){ $this->data['gofull'] = true; }else{ $this->data['gofull'] = false; } В файле footer.tpl каждого шаблона где вам удобно: - добавляем кнопки перехода в полную версию для mobile шаблона <div class="ver">Перейти на: <span id="gofull">Полный сайт</span></div> - добавляем кнопки перехода в мобильную версию для default шаблона <?php if($gofull){ ?> Перейти на: <span id="gofull">Мобильную версию</span> <?php } ?> - в файле common.js после $(document).ready(function() { добавляем $('#gofull').on('tap click touchstart', function(){ $.cookie('ver', 'mobile', { expires: 1, path: '/' }); location.reload(); }); При клике на элемент с id="gofull" будет срабатывать на всех устройствах переход либо в полную версию либо обратно. Возможно местами это костыли, зато работает и проверено на живом магазине с большой посещалкой в сезон. Всем спасибо. Благодарности принимаю в денежном эквиваленте 2 чашек кофе 8-) )) Если тема актуальна буду рад дальнейшему развитию и усовершенствованию решения, потому-что прибегать к использованию коммерческих буржуйских решений Opencart Mobile Framework или Omtex Mobile Template не очень удобно, так как нужно перепиливать готовый дизайн под себя. И нет ничего хуже ковырять чужой код.
    1 point
  3. Version 1.0.2

    1,267 downloads

    Доповнення додає основне зображення товару на наступні сторінки: - в особистому кабінеті покупця, на сторінці інформації про замовлення: при натисканні на зображенні воно збільшується в попапі - в адмінці, у перегляді замовлення: при натисканні на зображенні воно збільшується в попапі - в адмінці, у перегляді інвойсу - в e-mail повідомленні покупцю про нове замовлення: зображення як посилання на сторінку товару Мови: - українська - англійська Сумісність: - Opencart / ocStore 2.3.* - Opencart / ocStore 3.0.*
    Free
    1 point
    Модуль ракета бомба петарда ) рекомендую!!!!!! для покупки экономит деньги и время ! техподдержка на 15 из 10 автор всегда на связи. Настройка простейшая разберется даже ребёнок который читать умеет!
    1 point
  4. Это когда я писал не учел маленькие экраны. А сейчас переписать внешний вид модуля с учетом мелких экранов почти не реально. :-(
    1 point
  5. Країна виробник може бути різним? Якщо так то в пункті 4.3 код $country_of_origin = array( 'Китай' => 'chn', 'Германія' => 'de', 'Україна' => 'uk', ); foreach($product['attributes'] as $ak => $av){ if($av['name'] == 'Назва атрибуту країни'){ $product['attributes_full'][] = array( 'name' => 'country_of_origin code="' . str_replace(array_keys($country_of_origin), array_values($country_of_origin), $av['text']) . '"', 'text' => $av['text'], 'end' => 'country_of_origin', ); } }
    1 point
  6. Мова адмінки яка? Статуси замовлень з одинарними лапками є замість апострофу?
    1 point
    Ocstore 3.0.3.7 картинки нету
    1 point
    Покупал с установкой и адаптацией. Пришлось поморочиться под тему течстор, но по итогу все удачно залезло в шаблон. По функционалу базовые и полезные инструменты для фокусного вывода товара в разных частях сайта. В целом пока только +
    1 point
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.