Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Почему календари разные?

00 голосов
8
День добрый. Заметил что в фильтре элементов инфоблока, если указать фильтрацию по свойству "Дата/Время" появляется простой "голый" инпут, при чем работает он только если ввести дату определенного формата. Короче сам дописал. Теперь у меня там красивый CalendarPeriod как в админке. Однако, далее зашел под другим браузером проверить, но как неавторизованный пользователь и узрел, что всё выглядит иначе и если кликнуть икону, то тупо открывается окно через window.open с другим стилем.
В tools.php написано:

Код
function CalendarPeriod($sFromName, $sFromVal, $sToName, $sToVal, $sFormName="skform", $show_select="N", $field_select="class=\"typeselect\"", $field_input="class=\"typeinput\"", $size="10") 
{ 
if(class_exists("CAdminCalendar")) 
return CAdminCalendar::CalendarPeriod($sFromName, $sToName, $sFromVal, $sToVal, ($show_select=="Y"), $size, ($size > 10)); 

... 
}


...видимо админские библиотеки не подгружаются. Господа, есть ли у кого идеи как привести календарь к единому виду или может уже кто-то сталкивался?
спросил 13 Июнь, 13 от Iveta (220 баллов)

8 Ответы

00 голосов
Для публички есть компонент календаря, нужно его использовать. "Элемент управления "Календарь" (main.calendar).
ответил 13 Июнь, 13 от Ixie (540 баллов)
00 голосов
В ту же кучку: в административном интерфейсе используется функция CalendarDate(). Она определена в /modules/main/tools.php и возвращает поле ввода с кнопкой календаря. Для обычного пользователя это поле имеет атрибут id (по значению он совпадает с name ), а для администратора - нет. В итоге неоправданно усложняется Javascript-код по обслуживанию таких полей .
ответил 26 Июнь, 13 от EcbKa (180 баллов)
00 голосов
Вадим, спасибо за ответ! Но это немного не то, что я хотел услышать. Дело в том, что функция CalendarPeriod используется в bitrix:catalog.filter в полях "Начало/Окончание активности", "Дата создания" и др. Это недоработка.

И bit_ra5en, кстати, прав. В CalendarPeriod не учитываются дополнительные атрибуты, если зайти админом.
ответил 29 Сен, 13 от Iveta (220 баллов)
00 голосов
Цитата
Николай Колесников пишет:
День добрый. Заметил что в фильтре элементов инфоблока, если указать фильтрацию по свойству "Дата/Время" появляется простой "голый" инпут, при чем работает он только если ввести дату определенного формата. Короче сам дописал. Теперь у меня там красивый CalendarPeriod как в админке.

А можно поподробнее? Что-то не пойму как это сделать :oops:
ответил 31 Дек, 13 от voro6 (140 баллов)
00 голосов
Думаю jquery datepicker самый безболезненный вариант. Ничего переписывать не надо. Просто:

Код
$( "input[name='arrFilter[КОД_СВОЙСТВА]'" ).datepicker( "option", "dateFormat", "yy-mm-dd" );
ответил 16 Апр, 14 от Iveta (220 баллов)
00 голосов
Добрый день, Николай Колесников, не подскажете, куда конкретно вставить предложенный Вами код:
Цитата
Николай Колесников пишет:
Думаю jquery datepicker самый безболезненный вариант. Ничего переписывать не надо. Просто:

Код
$( "input[name='arrFilter[КОД_СВОЙСТВА]'" ).datepicker( "option", "dateFormat", "yy-mm-dd" );

Спасибо!
ответил 09 Авг, 14 от Xel (100 баллов)
00 голосов
Цитата

<?
require_once($_SERVER['DOCUMENT_ROOT'].BX_ROOT.'/modules/main/interface/admin_lib.php');
define('ADMIN_THEME_ID', '.default');
?>

<form action="<?=$APPLICATION->GetCurPage()?>" method="POST" name="form1">
<?echo CalendarPeriod("date_from", "25.10.2003", "date_to", "29.10.2003", "form1", "Y")?>
</form>
ответил 14 Дек, 14 от Eggo (100 баллов)
00 голосов
Цитата
Дмитрий Гуров пишет:
Цитата

<?
require_once($_SERVER['DOCUMENT_ROOT'].BX_ROOT.'/modules/main/interface/admin_lib.php');
define('ADMIN_THEME_ID', '.default');
?>

<form action="<?=$APPLICATION->GetCurPage()?>" method="POST" name="form1">
<?echo CalendarPeriod("date_from", "25.10.2003", "date_to", "29.10.2003", "form1", "Y")?>
</form>


Красавчег.
ответил 05 Апр, 15 от Wisp (220 баллов)

Похожие вопросы

0 голосов
5 ответов
0 голосов
1 ответ
спросил 27 Дек, 13 от Tvvix (180 баллов)
0 голосов
5 ответов
спросил 13 Дек, 13 от Sagra (100 баллов)
0 голосов
0 ответов