Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Sudba

Користувачі
  
  • Публікації

    89
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Sudba

  1. Здравствуйте.

    Подскажите, работают все города, а почему-то Ярославль не работает. Лог ошибок:

    2016-08-03 22:52:55 - СДЭК: вес заказа 0.5
    2016-08-03 22:52:55 - СДЭК: Город получателя «Ярославль, Ярославская обл., Россия» (146)
    2016-08-03 22:52:55 - СДЭК: объем 0.01
    2016-08-03 22:52:55 - СДЭК: Не сформирован список тарифов для текущей географической зоны!
     
    При этом Ярославль в Ярославской области по системе находится и галочка в Сдеке стоит.
  2. Потому что остальные страницы не меняются в процессе взаимодействия. Нужно включить запись содержимого.

    Запись страниц при просмотре посетителем: Выключено, Из браузера, Отдельным запросом
    Что выбрать?
  3. Подскажите, вебвизор не показывает страницу оформления, но написано "Корзина пустая".

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

    Настройки вебвизора:

    Запись страниц при просмотре посетителем - Отдельным запросом
    Список страниц для сохранения - regexp:.*
    Загрузка страниц в плеер - Анонимный пользователь
     
    При это остальные страницы спокойно показывает.

     

  4. Менять запись на уровне модели заказа, записывать с одного поля в другое.

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

     

    А нельзя тогда как-то стандартные поля выводить только после выбора доставки и под самим методом доставки? Чтобы они в свои родные поля записывались в админке?

  5. Здравствуйте. Хочу убрать индекс и адрес и вывести его, только когда выбирают способ доставки. Чтобы под этим пособом вывелись эти поля. Сделать сделал, но в админке они не красиво записываются не в соответствующие поля а в Simple Data. 

    А как сделать, чтобы они записывались в соответствующие поля?

  6. Здравствуйте, пытаюсь Вам написать в ЛС на счет лицензии, а выходит сообщение: "Пользователь progroman больше не может получать новые сообщения"

    Можете написать свою почту, на нее напишу?)

  7. Все мы знаем как популярны сейчас 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 не очень удобно, так как нужно перепиливать готовый дизайн под себя. И нет ничего хуже ковырять чужой код.

    спасибо конечно за вариант с мобильной версией, но Google и Яндекс не показываю что есть мобильная версия при проверки через их сервисы. А значит не будет метки при поисковой выдачи

  8. А поля какие для расчета доставки, в каком формате регионы? Как в стандартной ocStore? Поле город есть?

    Извините, уезжал и не мог оперативно написать.

    ocStore стоит, регион и город не менял, то есть как есть у Simple изначально так и есть.

  9. Не подскажите в чем ошибка:

    2015-08-31 13:18:37 - PHP Notice:  unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 1619 bytes in *****/public_html/catalog/model/shipping/pochtaros.php on line 142
    2015-08-31 13:18:37 - PHP Notice:  Undefined variable: ship_cost in ????/public_html/catalog/model/shipping/shipard.php on line 113
     
    И этот метод не выводится в списке доставки(
  10. Спасибо Вам большое, посмотрел про данные - вставил интеграционный логин и пароль.

    Но теперь другая ошибка:

    2015-08-31 13:00:40 - CDEK: вес заказа 1
    2015-08-31 13:00:40 - CDEK: город доставки не найден!
    2015-08-31 13:00:46 - CDEK: вес заказа 1
    2015-08-31 13:00:46 - CDEK: город доставки не найден!
    2015-08-31 13:00:50 - CDEK: вес заказа 1
    2015-08-31 13:00:50 - CDEK: город доставки не найден!
    2015-08-31 13:00:50 - PHP Notice:  Undefined variable: ship_cost in /***/public_html/catalog/model/shipping/shipard.php on line 113
    2015-08-31 13:00:55 - PHP Notice:  Error: Table 'smarika_wr.oc_geo' doesn't exist<br />Error No: 1146<br />SELECT g.id,g.full_name,g.name,g.postcode,z.zone_id,z.country_id FROM oc_geo g LEFT JOIN oc_zone z ON g.zone_id = z.zone_id WHERE g.name LIKE 'Волгоград%' AND g.postcode <> '' ORDER BY population DESC LIMIT 100 in****/public_html/system/database/mysqliz.php on line 53
  11. Доброе утро.

    Подскажите пожалуйста:

    2015-08-27 9:54:32 - CDEK: вес заказа 0.5
    2015-08-27 9:54:34 - CDEK: объем 3
    2015-08-27 9:54:34 - CDEK: Ошибка авторизации
    2015-08-27 9:54:34 - CDEK: нет результатов для вывода!
    2015-08-27 9:54:34 - PHP Notice:  Undefined offset: 0 in ***/public_html/system/library/response.php on line 68
    2015-08-27 9:54:34 - PHP Notice:  Undefined offset: 0 in ***/public_html/system/library/response.php on line 68
     
    Версия 1.5.5.1.2
    Авторизация работает, проверил еще раз логин и пароль, которые ввел в Авторизации и смог зайти в панель
     
     
     
    Если убрать авторизацию, то выходят такие ошибки:
    2015-08-27 10:02:20 - CDEK: вес заказа 0.5
    2015-08-27 10:02:20 - CDEK: объем 3
    2015-08-27 10:02:20 - CDEK: Невозможно осуществить доставку по этому направлению при заданных условиях
    2015-08-27 10:02:20 - CDEK: нет результатов для вывода!
    2015-08-27 10:02:21 - PHP Notice:  Undefined variable: ship_cost in ***/public_html/catalog/model/shipping/shipard.php on line 113
    2015-08-27 10:02:21 - PHP Notice:  Undefined offset: 0 in *****/public_html/system/library/response.php on line 68
    2015-08-27 10:02:21 - PHP Notice:  Undefined offset: 0 in *****/public_html/system/library/response.php on line 68
  12. Добрый день, подскажите пожалуйста. 

    Версия 1.5.5.1.2 Vqmod стоит

    При переходе на оформление заказа вылазиет ошибка:

    Fatal error: Call to undefined function to_seo() in /site.ru/public_html/catalog/model/shipping/pochtaros.php on line 209

     

    Если модуль отключить, то все хорошо.

  13. Здравствуйте. Стоит модуль СДЭК совместимый с Simple. Но почему-то он не показывается в шаблоне, зато если переключится на стандартную версию оформления заказа, то все показывается. Подскажите как исправить?


×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.