This is an old revision of the document!
Отправка почты настраивается в файле /modules/core/config/mail.php
Пример конфиг файла для gmail.
return array ( 'default' => array ( 'driver' => 'smtp', ), 'sendmail' => array ( 'driver' => 'sendmail', ), 'smtp' => array ( 'driver' => 'smtp', 'username' => 'steelsafeshop@gmail.com', 'port' => '465', // для SSL порт 465 'host' => 'ssl://smtp.gmail.com', // для SSL используйте ssl://smtp.gmail.com 'password' => 'PASSWORD' ) );
Включите доступ к аккаунту для непроверенных приложений на странице https://www.google.com/settings/security/lesssecureapps
Для включения панелей:
Если панели XML/XSL не отображаются в клиентской части, значит включено кэширование. Выключите модуль кэширования и перезагрузите страницу. Кэширование можно отключать для отдельных блоков. Для этого для всех контроллеров показа доступен метод →cache(FALSE)
Если требуется выводить в корне магазина или инфосистемы все элементы, то по идее достаточно в коде соответствующей ТДС перед выводом контроллера показа раскомментить следующую часть кода:
// В корне выводим из всех групп /*if ($Informationsystem_Controller_Show->group == 0) { $Informationsystem_Controller_Show->group(FALSE); }*/
Но иногда такое решение не помогает, и item'ы в корне не выводятся. В XML их нет. В таком случае необходимо при выводе контроллера показа установить свойство limit
$Informationsystem_Controller_Show ->xsl( Core_Entity::factory('Xsl')->getByName($xslName) ) ->itemsProperties(TRUE) ->limit(999) ->show();
Кстати, на hostcms форуме внятного ответа по этой проблеме не нашел.
Для отпавки писма пользователю в ТДС отображение формы вставляем код в контролере отправки формы
if ($result) { Core_Mail::instance() ->to($_POST['email'])//Почта пользователя ->from($email)//Почта администратора сайта ->subject($subject)//Тема писма ->message($sText)//Текст писма ->contentType('text/plain') ->send(); }
Для получения email модуля сайта $email=Core_Entity::factory('site')→find(CURRENT_SITE)→admin_email
или Core_Entity::factory('site')→find(CURRENT_SITE)→getFirstEmail();
Что бы получить текст писма из xsl файла
$sText = Xsl_Processor::instance() ->xml($oEmailFormControllerShow->getXml()) ->xsl(Core_Entity::factory('Xsl')->getByName('$xsl')) ->process();
Коварная проблема может появится в результате подключения файла, который кодирован в utf с bom меткой. Проверьте подключаемые файлы.
В HostCMS настройка часового пояса «По-умолчанию» означает, что будет использоваться часовой пояс из /modules/core/config/config.php, а не из настроек PHP, так как: «Есть ситуации, когда сайт еще не определен, а временная зона нужна, при этом в php.ini временная зона не определена.»
$url = $oShopItem->Shop->Structure->getPath() . $oShopItem->getPath();
$image_url = $oShop_Item->getItemHref() . $oShopItem->image_large;
$url = $oInformationsystem_Item->Informationsystem->Structure->getPath() . $oInformationsystem_Item->getPath();