Как увидеть панель редактирования 1с битрикс если шапка сайта зафиксирована сверху?, после фиксации меню сверху страницы, не получается попасть в режим правки
Здравствуйте! Не удалось найти примера, поэтому написал сам и делюсь соображениями.
Очень часто возникает задача установить фиксированные размеры изображения при работе с инфоблоками, ниже пример не даст загрузить изображение не соответствующее требованиям:
Код
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "CheckSizeDetailPicture");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "CheckSizeDetailPicture");
/**
* @param $arFields
* @return bool
*/
function CheckSizeDetailPicture(&$arFields) {
if($arFields["IBLOCK_ID"] == 1 || $arFields["IBLOCK_ID"] == 9) {
$width = 920;
$height = 440;
// Получаем абсолютный путь к временному файлу
$imgPath = $arFields["DETAIL_PICTURE"]["tmp_name"];
// Получаем ширину/высоту картинки.
$arFile = getimagesize($imgPath);
if(!empty($imgPath)) {
// Проверяем размеры
if($arFile[0] != $width && $arFile[1] != $height ) {
// Выводим сообщение об ошибке в админку
global $APPLICATION;
$APPLICATION->throwException("Размеры детальной картинки должны быть " . $width . "x". $height . " пикселей.");
return false;
}
}
}
return null;
}
Для удобного поиска ошибок (данный код должен быть подключен в init.php вашим любимым способом) используйте AddMessage2Log.
Евгений Жуков написал: Для D7 - в обязательном порядке. autoload сработает только после подключения модуля.
А как использовать autoload для отдельных классов без модуля. Пробовал Loader::registerAutoLoadClasses. в качестве первого параметра указывал пустое значение, но толку 0. ползал в ядре и нашел что если модуля не нашел то грузить с папки local но все равно не помогает увы
В своих проектах мы часто используем компонент iblock.element.add.form для работы с инфоблоками. Многие знают, что данный компонент можно заставить работать в режиме AJAX добавив следующие параметры:
Заметил, что когда вызываю данный компонент на странице с кириллическим URL, например: "/контакты/" компонент отказывается работать в режиме AJAX. Решение нашлось следующее:
С помощью функции urldecode() в шаблоне компонента декодировал кодированный URL атрибута формы action. Из "/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B/" в "/контакты/".
Если есть альтернативные способы решения, добро пожаловать в ответы.
Компонент iblock.element.add.form работает в режиме AJAX. Прикрутил к компоненту reCaptcha. Файл script.js шаблона вышеуказанного компонента имеет следующее содержание:
Код
BX.addCustomEvent('onAjaxSuccess', function(){
// Load reCaptcha API after the request
BX.loadScript('https://www.google.com/recaptcha/api.js');
});
Данный скрипт погрузиться после первой отправки формы, а как подгрузить ../recaptcha/api.js при загрузке страницы?
www.site1.ru – Основной сайт www.site2.ru – Дополнительный сайт, созданы и настроены символьные ссылки на upload и битрикс. www.site3.ru – Дополнительный сайт, созданы и настроены символьные ссылки на upload и битрикс.
Как происходит создание поддомена на директорию для сайта www.site2.ru вида: forum.site2.ru –> /site2.ru/public_html/forum/
Было бы очень полезно обсудить данный момент.
upd: Пока получилось получить нужную директорию: forum.site2.ru –> /site2.ru/public_html/forum/, подключил и шаблон. Настройки следующие:
Для второго сайт настроены условия применения шаблона, настройки для общего шаблона пропустил:
Шаблон
Сорт.
Тип условия
Условие
Форум
1
Для файла или папки
/forum/
Форум
2
Параметры URL
$_SERVER['HTTP_HOST'] = forum.site2.ru
Также в .htaccess в корне второго сайта сделаны следующие настройки:
Но попасть в админку по адресу forum.site2.ru не могу, выдает 500 ошибку. наверное надо правильно настроить htaccess При следующей строчке: RewriteCond %{HTTP_HOST} ^forum\.site2\.ru$ от отображается и шаблон и страница, но выдает 500 при переходе в админку, а если RewriteCond %{HTTP_HOST} ^forum\.site2.ru\.ru$ , тогда подключает шаблон но, не подключает страницу с директории /forum/ и не дает попасть в админку.
Получилось следующие: по адресу forum.site2.ru отображается нужный шаблон и страница из директории /forum/, а также работает админка при следующем правиле в htaccess: RewriteRule ^(.*)$ $1/forum/$1 [L] ,другое дело, что если попробовать отредактировать страницу, тогда для редактирования откроется страница index.php из корня сайта она же главная.
Остается понять как заставить БИТРИКС редактировать при URL forum.site2.ru директорию /forum/