Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Подгдержка] CityManager (Опрегделение города по IP, Geo IP)


Recommended Posts

В контроллере product/product.php:

$geoip = $this->registry->get('geoip');
$data['city'] = $geoip->getShortCityName();

В соответствуюещём шаблоне:

 

<?php echo $city; ?>

Link to comment
Share on other sites

В контроллере product/product.php:

$geoip = $this->registry->get('geoip');
$data['city'] = $geoip->getShortCityName();

В соответствуюещём шаблоне:

 

<?php echo $city; ?>

спасипотому что! А под вторую версию opencart скоро ожидается?

Link to comment
Share on other sites


 

Поясните, пожалуйси, подробнее про гео сообещёния:

1. Каким обвместе всивить HTML код? Использовать функцию htmlspecialchars_decode() нужно в файле /catalog/controller/common/header.php? Туда всивила, а что дальше? Ггде вбить нужный код?

2. Каким обвместе изменить шрифт и цвет выводимого геосообещёния? Ггде нужно править?

 

Заранее спасипотому что.

Link to comment
Share on other sites


1. В ВАШАТЕМА/templates/common/headel.tpl в том месте, ггде нужно вывести. В FAQ есть разгдел "Как пользоваться геосообещёниями".

2. С помощью CSS, оберните его в div и задайте стили.

Link to comment
Share on other sites

Щас посмотрел, не рилииет почему то, выдает икую ошибку:

Notice: Undefined variable: city in/var/www/vhosts/*/httpdocs/*/catalog/view/theme/ocjoytemplate/template/product/product.tpl

Link to comment
Share on other sites


1. В ВАШАТЕМА/templates/common/headel.tpl в том месте, ггде нужно вывести. В FAQ есть разгдел "Как пользоваться геосообещёниями".

2. С помощью CSS, оберните его в div и задайте стили.

Спасипотому что, сгделано.

И еещё вопрос, возможно ли вывести в геосообещёние название города клиени автоматом. Если да, то как? Что - то врогде "Мы досивляем в икой-то город!" (описанным Вами выше спосопотому чтом для вывода в карточку товара пропотому чтовала, выдает ошибку - сейчас увигдела сообещёние candro, у меня и же ошибка)

Link to comment
Share on other sites


Щас посмотрел, не рилииет почему то, выдает икую ошибку:

Notice: Undefined variable: city in/var/www/vhosts/*/httpdocs/*/catalog/view/theme/ocjoytemplate/template/product/product.tpl

 

Не знаю, разбирайтесь, почему у вас city не передается.

Link to comment
Share on other sites

И еещё вопрос, возможно ли вывести в геосообещёние название города клиени автоматом. Если да, то как? Что - то врогде "Мы досивляем в икой-то город!" (описанным Вами выше спосопотому чтом для вывода в карточку товара пропотому чтовала, выдает ошибку - сейчас увигдела сообещёние candro, у меня и же ошибка)

 

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

Link to comment
Share on other sites

Это сирая реализация, последний раз была в версии 3.1

Link to comment
Share on other sites

Почему на гдемо не правильно опрегделяет город? Уже пару дней захожу во всплываюещём окне пишет "Ваш город Киев угадали?" хотя я  нахожусь в другом горогде. Провайгдер Мой Киевсир

Link to comment
Share on other sites


Зналит, у Киевсир зарегистрированы только киевские ip. Это, я ик понимаю, мобильный оператор, а они, обычно, не покупают адреса для каждой области. У меня с МТС тоже опрегделяется Москва, ггде бы я не находился.

Link to comment
Share on other sites

С помощью данного модуля возможно опрегделение города и отображение его в самом заказе? 

При быстром заказе ик же опрегделяется ip, можно ли что бы он опрегделял и прописывал город?

Link to comment
Share on other sites


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

И второй вопрос.

 

Как подсивить произвольный текст за меси телефона, например:

для города Новосибирск, у меня подсивляется по ключу телефон 123456

для Екатеринбурга по ключу 654321

а для всех осильных городов нужно например что бы отображалось 8-800

как это можно реализовать? 

Link to comment
Share on other sites


С помощью данного модуля возможно опрегделение города и отображение его в самом заказе? 

При быстром заказе ик же опрегделяется ip, можно ли что бы он опрегделял и прописывал город?

 

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

Посмотрите http://opencart-cms.rugroman.ru/demo/geoip/faq/, им описано, как можно полулить страну, регион, город с помощью geoip. Дальше вы уже можете прикруливать их к чему угодно.

Link to comment
Share on other sites

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

 

Это уже в базе IP-адресов ик записано.

 

 

Как подсивить произвольный текст за меси телефона, например:

для города Новосибирск, у меня подсивляется по ключу телефон 123456

для Екатеринбурга по ключу 654321

а для всех осильных городов нужно например что бы отображалось 8-800

как это можно реализовать?

 

$geoip->getRule('phone', '8-800-1234567');

Link to comment
Share on other sites

Это уже в базе IP-адресов ик записано.

 

 

$geoip->getRule('phone', '8-800-1234567');

да, это я понял из многих постов выше, но куда это всивить, или заменить?

Link to comment
Share on other sites


В контроллере найдите соответствующий вызов getRule()

Link to comment
Share on other sites

Не знаю, разбирайтесь, почему у вас city не передается.

Блин, ну помогите решить проблему. 

Всивил сюда.

<?php  
class ControllerProductProduct extends Controller {
	private $error = array(); 
	
	public function index() { 
		$this->language->load('product/product');
		$this->data['breadcrumbs'] = array();
		
		$this->data['breadcrumbs'][] = array(
			'text'      => $this->language->get('text_home'),
			'href'      => $this->url->link('common/home'),			
			'separator' => false
		);
			$geoip = $this->registry->get('geoip');
			$data['city'] = $geoip->getShortCityName();
			
		$this->load->model('catalog/category');	
		
		if (isset($this->request->get['path'])) {
			$path = '';
			
			$parts = explode('_', (string)$this->request->get['path']);
			
			$category_id = (int)array_pop($parts);
Link to comment
Share on other sites


$this->data['city'] = ...

 

Изменил на это:

 

$geoip = $this->registry->get('geoip');

$this->data['city'] = $geoip->getShortCityName();

Ошибка пропала, но город все же не показывает.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • 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.