Календарь

#
Календарь
В ХостЦМС, в ЦА, есть встроенный календарик, на Яваскрипте. Хочу его использовать в клиентской части, на своих страницах, но не могу разобраться как.
Модератор
#
Re: Календарь
<?php
$name = 'fieldname';
$html_id = $name.'_id';
$value = '29.06.2009';
?>
<input type="text" size="9" name="<?php echo $name?>" id="<?php echo $html_id?>" value="<?php echo $value?>" />

<script type="text/javascript">
Calendar.setup({inputField: '<?php echo $html_id?>',
ifFormat: '%d.%m.%Y',
showsTime: false,
button: '<?php echo $html_id?>',
align: 'Br',
singleClick: true,
timeFormat: 24,
firstDay: 1});
</script>


+ в блоке <head> необходимо подключить
<!-- Calendar -->
<link rel="stylesheet" type="text/css" media="all" href="/hostcmsfiles/calendar/calendar.css" title="win2k-cold-1" />
<script type="text/javascript" src="/hostcmsfiles/calendar/calendar.js"></script>
<script type="text/javascript" src="/hostcmsfiles/calendar/lang/calendar-ru.js"></script>
<script type="text/javascript" src="/hostcmsfiles/calendar/calendar-setup.js"></script>
#
Re: Календарь
Сделал всё, как вы написали.
Выдаёт ошибку:

Ошибка: Calendar is not defined
Источник: http://privatesales.local/users/admin/journal/edit/?id=1068#
Строка: 151

Вот код:

<head>
<!-- Calendar -->
<link rel="stylesheet" type="text/css" media="all" href="/hostcmsfiles/calendar/calendar.css" title="win2k-cold-1" />
<script type="text/javascript" src="/hostcmsfiles/calendar/calendar.js"></script>
<script type="text/javascript" src="/hostcmsfiles/calendar/lang/calendar-ru.js"></script>
<script type="text/javascript" src="/hostcmsfiles/calendar/calendar-setup.js"></script>
</head>



<input type="text" id="date" name="date" size="10" value="2009-06-25" onkeydown="FieldCheck(this)" onkeyup="FieldCheck(this)"
onblur="FieldCheck(this)" class="calendar_field">

<script type="text/javascript">
Calendar.setup({inputField: 'date',
ifFormat: '%d.%m.%Y',
showsTime: false,
button: 'date',
align: 'Br',
singleClick: true,
timeFormat: 24,
firstDay: 1});
</script>


Строка 151:
Calendar.setup({inputField: '<?php echo $html_id?>',
#
Re: Календарь
Извините, вот строка 151:

Calendar.setup({inputField: 'date',
#
Re: Календарь
Понял. Просто у меня нет всей папки "/hostcmsfiles/calendar".
Где её можно взять?

Модератор
#
Re: Календарь
alteditor,
Можете скачать с сайта бесплатную версию и из нее взять эту папку.
#
Re: Календарь
Скачал, поставил. Теперь почему-то доступен только 2034 год, по умолчанию, и при попытке выбора даты выдаётся:

Ошибка: too much recursion
Источник: http://privatesales.local/hostcmsfiles/calendar/calendar.js
Строка: 1870
Модератор
#
Re: Календарь
alteditor писал(а):
Ошибка: too much recursion

Ошибка возникает в том случае, если Вы авторизированы в центре администрирования, в таком случае система сама в конце страницы подключает скрипты календаря для редактирования контента из клиентского раздела.
+ я немного подправил вышеприведенный пример.
#
Re: Календарь
Можно ли сделать так, чтобы, эта ошибка не возникала, даже если я авторизован в центре администрирования? И как установить текущий год и месяц  по умолчанию?
Модератор
#
Re: Календарь
alteditor писал(а):
Можно ли сделать так, чтобы, эта ошибка не возникала, даже если я авторизован в центре администрирования?

В данном случае происходит двойная инициализация, мы подумаем как решить вопрос.

Текущая дата и число берется из той даты, что указана в поле.
Авторизация