Готовые тиражные решения на 1С-Битрикс
Техническая поддержка:
+7-908-208-1965
Отдел продаж, с 7:00 до 18:00 (по Москве)
Звонок по России бесплатный
Вы также можете заказать звонок

FAQ Связь цен и складов с местоположением

02:15:14 - 17.01.2018

1. Как показать/скрыть свойства СКУ в умной фильтре?
Перейдите в параметры необходимого раздела:
2017-09-01_12-39-39.png
Во вкладке "Свойства элементов" в списке "Свойства торговых предложений" напротив нужных свойств поставьте галочки:
2017-09-01_12-41-22.png
1. Самостоятельная интеграция модуля Связь цен и складов с местоположением (yenisite.geoipstore)

Вся интеграция модуля сводится к 3 моментам:

1) Установка и настройка модуля по инструкции — http://dev.1c-bitrix.ru/community/webdev/user/3308/blog/8152/

2) размещение компонента yenisite:geoip.store и интеграция дизайна шаблона в том месте где должен быть выбор города (ДО вывода любого компонента который выводит товары) пример кода:

	// Вызываем компонент, в этот момент выводится шаблон
	// а результат выполнения компонента — массив вида
	// array(
	// 	"PRICES" => array(), // массив типов цен который выбраны в этом городе
	//	"STORES" => array(), // массив с ID складов которые выбраны в этом городе
	// )
	// записывается в глобальную переменную
        if(CModule::IncludeModule('yenisite.geoipstore')){
	   $GLOBALS['GEOIP'] = $APPLICATION->IncludeComponent(
		"yenisite:geoip.store","",array(),
		false
	   );
        }

3) Теперь надо заменить в публичной части у тех компонентов, которые должны менять цену, ограничивать склады, следующие параметры на примере bitrix:catalog:

$APPLICATION->IncludeComponent(
	"bitrix:catalog", 
	".default", 
	array(
		"IBLOCK_TYPE" => "catalog",
		"IBLOCK_ID" => "1",
		// PRICE_CODE — массив типов цен для отображения
		"PRICE_CODE" => $GLOBALS['GEOIP']['PRICES'],
		// STORES — массив ID складов
		"STORES" => $GLOBALS['GEOIP']["STORES"],
		...
	),
	false
);

2. Периодически пропадает авторизация пользователя на сайте
Возможные проблемы и способы их решения:
  • Лишние переносы строк (или иные символы) в скриптах конфигурации. Необходимо убедиться, что в коде файлов dbconn.php, init.php и after_connect.php, расположенных в папке bitrix/php_interface, не содержится переносов строк перед "".
  • Файлы с сессиями продукта создаются, но PHP не хватает прав, чтобы к ним обратиться. Попробуйте в файле /bitrix/php_interface/dbconn.php закомментировать строку:
    //@umask(~BX_DIR_PERMISSIONS);
  • Установлен лимит времени на бездействие пользователя, при превышении которого сессия удаляется. Вам необходимо в настройках группы пользователя на вкладке Безопасность увеличить значение Время жизни сессии (минут).

    Значение по умолчанию можно изменить в файле php.ini (Bitrix Environment\Apache2\zendserver\etc): параметр session.gc_maxlifetime.

  • Значение параметра Маска сети для привязки сессии в настройках безопасности группы пользователей. Если оно равно, например, 255.255.255.255, то это означает, что при изменении IP пользователя, авторизация будет сброшена.
  • Значение параметра session.cookie_domain в файле php.ini на сервере. Если оно задано - убедитесь, что оно соответствует URL вашего сайта. Если значение параметра session.cookie_domain равно www.site.ru, а Вы обращаетесь к системе по URL site.ru, то в этом случае сессия не будет сохранена, и, соответственно, авторизация не сохранится.

    Для решения проблемы необходимо установить в настройках PHP корректное значение параметра session.cookie_domain.

  • Неверно прописан домен в настройках главного модуля и для сайта отдельно.

    Проверьте значение поля URL сайта на странице административного режима Настройки > Настройки продукта > Настройки модулей > Главный модуль.

    Проверить значение поля URL сервера можно, открыв настройки нужного сайта на странице административного раздела Настройки > Настройки продукта > Сайты > Список сайтов.

    Примечание: также одной из причин может быть некорректное значение в параметрах сайта поля Путь к корневой папке веб-сервера для этого сайта, либо Доменное имя. Доменное имя можно сменить или удалить путем внесения изменений в файл /hosts.

  • При переносе сайта не скопировался файл /.access.php. В данном файле хранятся права групп пользователей к сайту, и если данного файла нет, то для всех пользователей право доступа устанавливается как Запрещен.

    Проблема решается одним из способов:

    • вам надо на странице административного раздела Контент > Структура сайта > Файлы и папки в меню действий корневой папки сайта выбрать пункт Свойства папки и на вкладке Доступ установить для группы Все пользователи (в том числе неавторизованные) право Чтение;
    • в корневую папку сайта загрузить файл .access.php со следующим содержанием:
      <? $PERM["/"]["*"]="R"; ?>
      
  • Если при многосайтовости вас выкидывает на форму авторизации при переходе по публичным страницам сайта, проверьте содержимое файла .access.php на идентичность следующему коду:
    <?
    $PERM["/"]["*"]="R";
    ?>
    
  • Авторизация не учитывается на вашем домене.

    На закладке Авторизация страницы настроек главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль) поставьте галочку в поле Распространять авторизацию на все домены.

  • Проблема может быть в работе сервера (нужна поддержка сессий в php, должна быть указана папка сохранения сессий и права на запись в эту папку).

    Проверьте исправность работы сервера с сессиями с помощью данного скрипта и в случае наличия неполадок обратитесь к администратору сервера.

3. Что делать-если вы забыли пароль администратора?

Для восстановления пароля администратора сохраните следующий скрипт в php-файл c любым именем:

<?
require($_SERVER['DOCUMENT_ROOT']."/bitrix/header.php");
echo $USER->Update(1,array("PASSWORD"=>'Bitrix*123456'));
echo $USER->LAST_ERROR;
require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php");
?>

Закачайте через FTP на сайт и откройте его в браузере. После этого у пользователя с ID=1 (по умолчанию - администратор) установится пароль: Bitrix*123456

После этого авторизуйтесь и в панели управления установите свой пароль.

Внимание! Обязательно удалите этот файл после восстановления пароля!

Если доступ для неавторизованных пользователей закрыт, то перед процедурой восстановления пароля надо поправить файл .access.php в корне сайта, заменив:

$PERM["/"]["*"]="D";
на:
$PERM["/"]["*"]="R";
А после сброса вернуть изменения назад. 
1. Настройки технологии "Композитный сайт"
Если Вы при использовании ПРО версии решения используете поддомены для каждого региона (города), то в настройках технологии "Композитный сайт" необходимо указать все поддомены Вашего сайта - скриншот
2. После регистрации пользователю назначается группа администратора
Если после регистрации пользователю назначается группа Администратора, то нужно проверить настройку в модуле связь складов с местоположением:

2017-08-01_1002.png

В данной настройке указывается группа пользователей для конкретного региона, что бы при регистрации из региона пользователю присваивалась группа для региона и относительно остальных настроек показывались доступные цены к покупке товара
1. Можно ли вывести в SEO-данных название города-склада?
Для настроек SEO на вашем сайте можно использовать два макроса:

#STORE_CITY# - подставить текущий город в именительном падеже.
Например, "самые лучшие цены в городе #STORE_CITY#" превратится в "самые лучшие цены в городе Красноярск".

#STORE_CITY_PREP# - подставить текущий город в предложном падеже.
Например, "Купить {=this.Name} в #STORE_CITY_PREP#" превратится в "Купить iPhone 7 в Красноярске".
Использовать осторожно. Пока что не все города склоняются корректно. Перед использованием, пожалуйста, убедитесь, что название вашего города склоняется в предложный падеж правильно.

Пример заполнения свойств страницы/разделов:








Пример настроек SEO в инфоблоке:


2. Включить расширенный вывод ошибок можно в файле настроек .settings.php
Если вы наблюдаете такую ошибку: Включить расширенный вывод ошибок можно в файле настроек .settings.php

Вам необходимо перейти: Административная панель - Файлы и папки - bitrix - .setting.php
8.png


Найти строчку: 'debug' => false,
false заменить на true

9.png
3. Как сделать бекап сайтов, находящихся в многосайтовости?

Если в системе есть несколько сайтов, то создавать резервные копии можно в любой комбинации из них. Для этого используйте чекбоксы, появляющиеся в форме создания резервной копии.

Резервное копирование при использовании многосайтовости имеет свои особенности:

  • Можно выбирать сайты для копирования, оставляя в архивах только нужные вам проекты.
  • Восстановление сайтов потребует дополнительных действий со стороны администратора.
  • Этот способ копирования работает только для сайтов DOCUMENT_ROOT которых различны. (То есть для многосайтовости на разных доменах)
  • База данных полностью копируется в архив. Даже тех сайтов, которые не были указаны в чекбоксах выбора сайтов.

При выборе сайтов для архивирования учтите, что в состав архива полностью копируется только первый по сортировке сайт (из выбранных) в списке сайтов. Соответственно, при восстановлении полностью в работоспособном состоянии восстанавливается только этот сайт.

Публичная часть остальных сайтов сохраняется в архиве в папках вида /bitrix/backup/sites/_ID_сайта_. После распаковки архива администратор должен будет вручную перенести папки публичной части архивируемых сайтов в соответствующие папки на сервере. (В процессе распаковки появится предупреждение, что архив содержит несколько публичных частей.)

Многосайтовость надо восстановить вручную (восстановить симлинки). Только после этого остальные сайты будут работоспособны.


1. Можно ли сделать ссылку на сайт, по которой у посетителя будет выбран конкретный город?
Установить город посетителя можно с помощью параметра cityId в адресной строке.
ID городов можно найти на странице редактирования связи местоположения и складов в списке местоположений, определяемых по IP.




Или просто в базе веб-аналитики.



Например, открыть демо-сайт для города Адлер:
http://bitronic2-pro.romza.ru/?cityId=7276
http://shinmarket-pro.romza.ru/?cityId=7276