1. Создаем демо-сайт на demo.1c-bitrix.ru (можно и локально и... да как хотите). 2. Создаем страницу и помещаем на нее компонент "catalog.section". 3. Копируем шаблон компонента и редактируем шаблон компонента: добавим строку
Хостинг на timeweb. На нем разрабатывался сайт site.ru. Проблем с отправкой писем не наблюдалось. Перенесли сайт на peterhost. Проверяли отправку писем или нет... не помню. Недавно проверили: есть проблемы.
Создаем трех пользователей в битриксе с почтой: 1. На xостинге timeweb почтовый ящик. 2. mail.ru 3. gmail.com
Настройки->Настройки продукта->Настройки модулей->Главный модуль "E-Mail администратора сайта (отправитель по умолчанию)" указываем адрес qwer@site1.ru.
Отправляем письма через "форму для запроса пароля": site1.ru/bitrix/admin/index.php?forgot_password=yes На gmail.com не пришло письмо. На 1 и 2 пришло.
Очистим "E-Mail администратора сайта (отправитель по умолчанию)". Теперь письмо дошло только на 1.
Указываем адрес qwer@site.ru. На gmail.com не пришло письмо. На 1 и 2 пришло.
Теперь в поле "Дополнительный параметр для передачи функции mail" напишем "-fqwer@site.ru" Письма дошли на все три ящика.
Теперь отправим письмо иначе: используем модуль "Веб-формы". Заполняем форму на сайте - данные письмом отправляются на заданный адрес. На gmail.com не пришло письмо. На 1 и 2 пришло.
Теперь пробуем только на gmail.com. Галочку уберем "Конвертировать 8-битные символы в заголовке письма". Не пришло письмо. Вернем на место галочку. Укоротим тему письма - не помогло.
Что делать? Как бороться с отправкой на gmail.com через "Веб-формы"?
На timeweb старая версия сайта еще лежит. Проверяем... Отправляем письмо на gmail.com через "форму для запроса пароля" - дошло. А ведь на peterhost пришлось "-fqwer@site.ru" писать. Через "Веб-формы" - не доходит. А ведь работало раньше! Может gmail.com чего "накрутили" у себя? Теперь в поле "Дополнительный параметр для передачи функции mail" напишем "-fqwer@site.ru". Не помогает...
Видел модуль "Веб-аналитика"... там много информации... Но у клиента редакция "старт". В таблице "b_user" есть полезное поле "LAST_LOGIN". В таблице " b_user_stored_auth" поля "LAST_AUTH" и "IP_ADDR". Если при авторизации пользователь поставил галочку "Запомнить меня на этом компьютере", то в эту таблицу добавляется запись. Но неужели нет таблицы / файла где хранятся все N последних авторизаций? Может и действия пользователей (изменен файл такой-то, добавлена запись в инфоблок такой-то) где-то записываются? Если по умолчанию такая статистика не ведется, то можно ли ее настроить?
Да!!! Уже нашел... случайно... когда создавал очередной инфоблок. А я то думал зачем в админке "Настройки->Настройки продукта->Пользовательские поля". "Пожмакал" - так и не понял - думал это что-то вроде пользовательских констант к которым можно обращаться. P.S. Кто-нибудь знает как на форуме найти свои сообщения? Ну... кроме как нажимать на страницу 1, 2, 3 и в браузере нажимать "Поиск->Свое_Имя"?
Иногда возникает необходимость разделам инфоблока добавлять поля. Пока "заталкивал" в "Описание". Но это неудобно. А если нужно будет несколько полей? Записать можно и в одно, но тогда редактировать из админки будут только "специалисты". Или создавать пользовательскую форму редактирования... (для раздела можно?) Все не так... Есть ли возможность добавлять "Пользовательские поля" разделам инфоблока? Вообще хорошо бы у элемента дополнительное поле "раздел" сделать. Тогда вообще просто было бы - был элементом - стал разделом.
Допустим у элемента инфоблока есть два поля типа "привязка к элементам": Город и улица. Соответственно есть еще два инфоблока "Города" и "Улицы". В админке добавляем элемент... выбираем город из списка, затем улицу... но... нас не интересует список улиц всех городов! Можно список улиц сделать зависимым от списка городов? Выбрали город - появился список улиц данного города. Есть ли стандартный функционал?
P.S. На самом деле задача такая: ИБ "Туры" (турагенство). В туре указываем "страну" и "город". Изначально сделали длинный выпадающий список городов сгруппированный по странам. Но клиент хочет два связанных поля: "Страна" и "Город". Также можно указать и отель/отели (множественный выбор). Для каждого города задан список отелей. Список отелей всех городов не интересует - нужен фильтр. Реализовал через "Пользовательские формы редактирования элементов". Но может есть стандартное решение? На мой взгляд связанные поля довольно часто встречаются.
Получилось. Опишу весь процесс создания форм редактирования элементов. Копируем bitrix\modules\iblock\admin\iblock_element_edit.php в /bitrix/php_interface/include/iblock_element_edit_my.php и в нашем новом файле оставляем строки от
Код
//START of the custom form
до
Код
//END of the custom form
и редактируем как нам нужно. Как называть поля ввода в форме (name="???";)? В исходном коде поля выводятся так
Функция _ShowPropertyField находится в bitrix\modules\iblock\admin_tools.php Смотрим в ней как поля в форме называть...
В настройках инфоблока данный файл указываем в качестве "Файл с формой редактирования элемента".
Смотрим что получилось... Теперь поля не отсортированы. И кнопки "Настроить" нет. Не хочется в iblock_element_edit_my.php добавлять механизм сортировки и отказываться от стандартной функции?
Проверяем... Теперь появился еще один Toolbar с одним пунктом "Настроить". Хотелось бы конечно в уже существующий добавить, но увы... Уж лучше так чем совсем никак.
P.S. В iblock_element_edit.php создаются вкладки
Код
$tabControl = new CAdminForm($bCustomForm? "tabControl": "form_element_".$IBLOCK_ID, $aTabs);
(см. bitrix\modules\main\interface\admin_lib.php) ... поля
Создал форму редактирования элементов. Но теперь нет возможности настроить из админки названия и порядок (первое, второе...) полей. А надо... Взял из \bitrix\modules\iblock\admin\iblock_element_edit.php от //START of the custom form до //END of the custom form Не понял где в файле написано как система выводит НЕ пользовательскую форму.
В "Веб-окружение" установил дистрибутив "Старт", создал сайт, сделал резервную копию, "развернул" на хостинге (вот не помню проверил ли сразу на хостинге работоспособность "Резервное копирование"), доработал сайт. Теперь пытаюсь создать резервную копию: нажимаем Настройки->Инструменты->Резервное копирование ... "Fatal error: Declaration of CArchiver::Pack() must be compatible with that of IBXArchive::Pack() in /home/r/realshop/spectekn.ru/public_html/bitrix/modules/main/classes/general/tar_gz.php on line 12"
tar_gz.php:
Код
12 class CArchiver implements IBXArchive
...
79 public function Pack($arFileList, $startFile = "")
archive.php
Код
...
interface IBXArchive
{
public function Pack($arFileList,$curFile);
...