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

Wanted

Новачок
  
  • Публікації

    9
  • З нами

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

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

  1. Glide

    Смотри, по сути все движения по отгрузкам клиенту есть таблица _order и ее табличная часть _order_product. Тут у нас сидят все отгрузки.

    То же самое делаем для приходов, т.е. создаем две таблицы _income и _income_product.

    И туда уже пихаем все данные по количеству принятых артикулов.

    Параллельно при добавлении записи в эту таблицу делаем апдейт кол-ва товара в наличии в самом Продукте - таблица _product поле quantity.

    А информацию по приходам предлагаю затягивать двумя путями - CSV файл и возможность построчно фигачить ручками!

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

  2. Предполагаю что начну разработку такого модуля для себя.Для начала создам две таблицы в которых буду учитывать приходы,Одна для табличных частей вторая для заголовков документов.также сделаю морду для ввода и просмотра/редактирования данных.При вводе данные будут плюсоватся к имеющимся остаткам.Но будет сохранена история приходов.

  3. Ну тогда по порядку:

    1. Открываем файл catalog/controller/common/header.php, и добавляем текст,

    сразу после

    class ControllerCommonHeader extends Controller {

    protected function index() {

    if (!isset($this->session->data['language_change'])) { $this->session->data['language_change'] = '0'; }	//print $this->session->data['language_change'];	//print $this->data['language_change'];		if ($this->session->data['language_change']=='0') 			{			 $ipList = new IPGeo;			 $text_client_ip = $ipList->getRealIpAddr();			 $this->data['text_geoip_country']=$ipList->get_user_country($text_client_ip); //Здесь можно подставить любой другой IP "XX.XX.XX.XX" Для теста			$this->session->data['language_change']='1';			if ($this->data['text_geoip_country']=='RU') //Здесь проверка на регион, список регионов берем на сайте http://www.wipmania.com/ru/				{ 				  $_SESSION['language'] = 'ru'; 				  $this->session->data['language']='ru';				  $this->session->data['language_code']='ru';				} else { 				  $_SESSION['language'] = 'en'; 				  $this->session->data['language']='en';				  $this->session->data['language_code']='en';				}					$this->redirect($_SERVER['REQUEST_URI']);				}			}
    2. Создаем файл system/library/class-ipgeo.php, и кладем в него следующий код:

    <?phpclass IPGeo {	function get_user_country($ip)	{//Возвращает двухбуквенный код страны посетителя		$site_name = "www.overtune.ru";		$x=file_get_contents('http://api.wipmania.com/'.$ip.'?'.$site_name);		return $x;	}	function getRealIpAddr()	{//Возвращает реальный IP клиента	    if ( getenv ('REMOTE_ADDR')) {$user_ip = getenv ('REMOTE_ADDR');}	    elseif ( getenv ('HTTP_FORWARDED_FOR')) {$user_ip = getenv ('HTTP_FORWARDED_FOR');} 	    elseif ( getenv ('HTTP_X_FORWARDED_FOR')) {$user_ip = getenv ('HTTP_X_FORWARDED_FOR');} 	    elseif ( getenv ('HTTP_X_COMING_FROM')) {$user_ip = getenv ('HTTP_X_COMING_FROM');} 	    elseif ( getenv ('HTTP_VIA')) {$user_ip = getenv ('HTTP_VIA');} 	    elseif ( getenv ('HTTP_XROXY_CONNECTION')) {$user_ip = getenv ('HTTP_XROXY_CONNECTION');} 	    elseif ( getenv ('HTTP_CLIENT_IP')) {$user_ip = getenv ('HTTP_CLIENT_IP');} 	    else {$user_ip='unknown';}	    if (15 < strlen ($user_ip)){	        $ar = split (', ', $user_ip);	        for ($i= sizeof ($ar)-1; $i> 0; $i--){	            if ($ar[$i]!='' and !preg_match ('/[a-zA-Zа-яА-Я]/', $ar[$i])){	                $user_ip = $ar[$i]; 	                break; 	                }	            if ($i== sizeof ($ar)-1){$user_ip = 'unknown';}	         }	        }	    if ( preg_match ('/[a-zA-Zа-яА-Я]/', $user_ip)){$user_ip = 'unknown';}	    return $user_ip;	}}?>
    3. Открываем файл system/startup.php, и в самый его конец, перед ?> добавляем код:

    require_once(DIR_SYSTEM . 'library/class-ipgeo.php');
    4. Радуемся жизни, т.к. теперь если пользователь зайдет с иностранного (не Российского) IP, То сайт у него будет на английском по умолчанию, для все Российских IP сайт будет по русски.

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

    P.S. Данные берутся онлайн с сайта http://www.wipmania.com/

  4. Уважаемый All,Сделал для своего проекта доработку для определения страны посетителя и выбора языка для него,например если клиент пришел с русских IP То для него выбирается Русский язык.Если все остальные - то по умолчанию Английский.Если наберет большую популярность - могу создать отдельным инсталляционным модулем для openCart.Если кому нужно просто куски кода - пишите - выложу.

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

Important Information

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