|

Локализация
Posted 22 November 2013 - 10:06 AM #1
Posted 22 November 2013 - 10:52 AM #2
Posted 10 December 2013 - 10:36 AM #3
Posted 10 December 2013 - 10:58 AM #4
Наличие товаров в конкретной области - это у вас склады в разных областях? Ну так для этого мультивендор вроде как. А если склад один, а вы хотите показывать-непоказывать товар, который в данную область-город доставляется-недоставляется - так это Пункты назначения и Способы доставки надо настраивать (тоже своего рода гемор...А что если хочется использовать локализацию для определения наличия товаров в конкретной области?

Posted 11 December 2013 - 01:31 PM #5
Подскажите какой файл отвечает за определение IP пользователя и отображение соответствующего контента в соответствии с его локализацией?
Вопрос для 3.0.6, хотя наверно разницы особой нет.
Posted 12 December 2013 - 06:52 AM #6
$x = fn_get_ip(); $ip = $x['host'];. Определять город можно по базе GeoIP. Но тут вопервых без ошибок не обходится, а во вторых что мобильный интернет, что проводной интернет от билайна - абсолютно не привязаны к городам по ip. Если вы сидите на проводном интернете от билайна в москве - сейчас у вас один ip, но стоит переподключиться, и у вас будет ip, который недавно был у компьютера например в Питере или в Хабаровске. Так что... Единственный способ определить местоположение покупателя - это указание города при регистрации.
Posted 14 December 2013 - 03:01 PM #7
Posted 26 December 2013 - 09:13 PM #9

Меняю регион, но отображение меню, категорий и блока горящих предложений на главной странице не изменяется

Для того, что бы оно изменилось мне необходимо очистить кеш из админки это ...admin?cc. Подскажите как можно очистить кеш когда пользователь меняет регион?
Posted 27 December 2013 - 05:33 AM #10
Для того, что бы оно изменилось мне необходимо очистить кеш из админки это ...admin?cc. Подскажите как можно очистить кеш когда пользователь меняет регион?
Если регион выбираете через новый блок, то изучайте схемы блоков:
/app/schemas/block_manager/blocks.php
Для очистки кэша есть специальные параметры у каждого блока.
'cache' => array( // Если есть изменения в таблицах БД , то очищаем кэш. 'update_handlers' => array ('products', 'product_descriptions', 'product_prices', 'products_categories', 'product_popularity'), // Если в запросе есть параметр , то очищаем кэш. 'request_handlers' => array ('current_category_id' => '%CATEGORY_ID%'), // Если есть движуха в куках , то очищаем кэш. 'cookie_handlers' => array ('%ALL%') )
Special cloud hosting for CS-Cart and Multi-Vendor. Just contact me
Posted 27 December 2013 - 11:41 AM #11
Для изменения региона я не использую блоки. Для корректировки региона я меняю значение переменной localization в fn.locations.php. Пытался добавить в функцию(в файле fn.locations.php) строки которые вы написали, без результата (может я просто не знаю в каком формате их вставлять).
Пытался разобраться с blocks.php, но там идет один сплошной массив и такое ощущение, что к нему движок вообще не обращается, удаление этого файла на работоспособность движка не оказала. Вызывал его с помощью require, но так же безрезультатно. Я с PHP и SMARTY плохо знаком, корректирую код методом тыка.
Подскажите как очистить кеш из fn.locations.php результат необходим как после очистки кеша при помощи .../admin.php?cc
Возможно я ошибаюсь и делать это необходимо по другому.
У меня мультивендор 3.0.6
Posted 27 December 2013 - 11:58 AM #12
поставьте её после переключения.
Special cloud hosting for CS-Cart and Multi-Vendor. Just contact me
Posted 27 December 2013 - 12:17 PM #13
{
.......
$localization = !empty($localization) ? $localization : (defined('CART_LOCALIZATION') ? CART_LOCALIZATION : '');
$condition = (empty($localization) || AREA != 'C') ? '' : (($and == true) ? ' AND' : '') . " (FIND_IN_SET($localization , $db_field))";
fn_clear_cache(); //если ставлю сюда то на сайте практически не выводятся данные, страница смотрится чистой
return $condition;
fn_clear_cache(); //если ставлю сюда ничего не происходит, кеш
}
Пробовал вставлять в файл tpl, после того как задаю куки, тоже нет реакции
Posted 27 December 2013 - 12:38 PM #14
fn_clear_cache(); //если ставлю сюда то на сайте практически не выводятся данные, страница смотрится чистой
return $condition;
fn_clear_cache(); //если ставлю сюда ничего не происходит, кеш
Кажется понял, что и где Вы меняете. Сюда точно не нужно очищаться кэш.
У меня есть несколько реализаций выбора региона, я посмотрю и сообщу чуть попозже.
Special cloud hosting for CS-Cart and Multi-Vendor. Just contact me
Posted 27 December 2013 - 12:53 PM #16
ОК, буду ждать, заранее спасибо.
Каким образом Вы меняете значение переменной localization в fn.locations.php со стороны клиента?
Special cloud hosting for CS-Cart and Multi-Vendor. Just contact me
Posted 27 December 2013 - 01:16 PM #17
Куки равно значению региона из БД (там идет страна, но я задаю как город)
Posted 27 December 2013 - 01:23 PM #18
Posted 27 December 2013 - 01:27 PM #19
Posted 29 December 2013 - 01:22 PM #20
Странно, что меню добавленное (дизайн/меню) меняется в моем решении, а основное меню (существующее по умолчанию) нет. Хотя оба используют практически одинаковые tpl
Попробуйте использовать параметр URL "?ls=XXX" , где XXX = ID локализации .
Например:
http://ваш_сайт/306mv/index.php?lc=2
или
http://ваш_сайт/306mv/index.php?dispatch=categories.view&category_id=167&lc=3
Соответственно при клике в Вашем popup сделать редирект на туже страницу с параметром соответствующим городу или региону.
Переключение локализаций происходит в данной ситуации правильно, с обновлением всех блоков.
Special cloud hosting for CS-Cart and Multi-Vendor. Just contact me