phpbb3 Calendar

Проблемы с установкой или работой phpBB 3.0.х. Решение проблем связанных с модами, стилями, доработками и так далее.
makc_mb
Сообщения: 4

phpbb3 Calendar

Сообщение makc_mb » Ср сен 25, 2013 3:47 pm

Немного хочу изменить мод Calendar 0.1.1 под свои нужды, хотелось бы убрать поле "Только на один день" при заведении нового события, но так, чтобы поля ввода времени начала и времени окончания были активными.
Изображение
Тоесть событие должно заводиться всегда на какой-то период времени, а не как по умолчанию - на весь день.
Мод лежит здесь
Галочку убрать можно, убрав из кода checked='checked', но окна ввода времени начала и времени окончания не становятся активными, нужно щёлкнуть по чекбоксу, поставив галку, потом галочку убрать, и только потом окна станут активными.
Если закоментить всю строку вывода "Только на один день", календарь вообще не работает.
Вобщем, не всё так просто.
Остальные окна ввода убрал с помощью style="display:none;".
Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: phpbb3 Calendar

Сообщение Slash » Ср сен 25, 2013 6:04 pm

Открыть: calendarpost.php, найти:

Код: Выделить всё

    $temp_replace_str = "name='calMEnd' id='calMEnd' disabled='disabled'";

заменить на:

Код: Выделить всё

    $temp_replace_str = "name='calMEnd' id='calMEnd'";

Найти:

Код: Выделить всё

    $temp_replace_str = "name='calDEnd' id='calDEnd' disabled='disabled'"; 

заменить на:

Код: Выделить всё

    $temp_replace_str = "name='calDEnd' id='calDEnd'"; 

Найти:

Код: Выделить всё

    $temp_replace_str = "name='calYEnd' id='calYEnd' disabled='disabled'"; 

заменить на:

Код: Выделить всё

    $temp_replace_str = "name='calYEnd' id='calYEnd'"; 

Найти:

Код: Выделить всё

    $temp_replace_str = "id='calHr' disabled='disabled'"; 

заменить на:

Код: Выделить всё

    $temp_replace_str = "id='calHr'"; 

Найти:

Код: Выделить всё

    $temp_replace_str = "id='calMn' disabled='disabled'"; 

заменить на:

Код: Выделить всё

    $temp_replace_str = "id='calMn'"; 

Найти:

Код: Выделить всё

$all_day_check = "<input type='checkbox' name='calAllDay' value='ON' checked='checked' onclick='toggle_all_day_event()' />"; 

заменить на:

Код: Выделить всё

$all_day_check = "<input type='checkbox' name='calAllDay' value='ON' onclick='toggle_all_day_event()' />"; 

Открыть: styles/prosilver/template/calendar_post_editor.html, найти и удалить:

Код: Выделить всё

    <dl style="clear: left;">
        <dt><label>{L_ALL_DAY}:</label></dt>
        <dd>{ALL_DAY_CHECK}</dd>
    </dl> 
makc_mb
Сообщения: 4

Re: phpbb3 Calendar

Сообщение makc_mb » Чт сен 26, 2013 12:40 am

:shock: не знаю, что и сказать.
Я над этим вопросом месяц бьюсь :oops:, на двух форумах спрашивал..
Огромное тебе спасибо, всё сработало.

Добавлено спустя 48 минут 9 секунд:
А можно ещё один вопрос по календарю, последний?
Можно ли выводить события текущего дня отдельной кнопкой? Тоесть не выбирать в меню "События за выбранный день", указывать дату, жать кнопку, а просто сделать вывод текущего дня отдельной ссылкой? :roll:

Добавлено спустя 8 минут 28 секунд:
Всё, сам разобрался, чувствую себя мегавебпрогараммистом :lol:
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: phpbb3 Calendar

Сообщение Slash » Чт сен 26, 2013 6:17 am

makc_mb писал(а):Всё, сам разобрался

Ну, так поделитесь решением.
makc_mb
Сообщения: 4

Re: phpbb3 Calendar

Сообщение makc_mb » Чт сен 26, 2013 9:06 am

Я не стал вникать, а сделал просто.
В файле calendar.php есть такая строка:

Код: Выделить всё

$view_mode = request_var('view', 'month');

Она выводит поумолчанию календарь на месяц. Если здесь заменить month на day, то по умолчанию откроется текущий день.
Сделал копию файла calendar.php, обозвал его calendar_day.php, ну и заменил в нём month на day, сейчас если ссылаться на calendar.php - открывается месяц, если на calendar_day.php - текущий день. Также сделал события на неделю.
Понимаю, что это не лучшее решение, зато работает :D
makc_mb
Сообщения: 4

Re: phpbb3 Calendar

Сообщение makc_mb » Чт сен 26, 2013 2:21 pm

И снова здравствуйте! :D
Обнаружена проблема.
В форме заведения заявки есть скрытый через style="display:none;" пункт: "Время окончания", где указывалась дата окончания события.
Кажется, вот он:

Код: Выделить всё

   <dl style="clear: left; display:none;">
      <dt><label for="calMEnd">{L_END_DATE}:</label></dt>
      <dd>{END_MONTH_SEL} {END_DAY_SEL} {END_YEAR_SEL}</dd>
   </dl>

Так вот, этот пункт у меня скрыт, и, по идее, тут указывается та дата, на которую заводится событие, т.е. дата окончания=дата начала.
При этом, если изначально заводить событие на какую-либо дату, к примеру 26 число, это число будет указано в датах начала и окончания. Заменив дату начала, при невозможности редактирования даты окончания (по причине скрытия этого пункта), событие будет заведено уже с новой даты до 26 числа. Так, если новая дата - 27 число, то скрипт выведет ошибку - "дата окончания не может быть раньше даты начала" (ибо дата окончания у нас 26 число), а если новая дата меньше 26, к примеру 25, то событие растянется на два дня - с 25 до 26 числа.
Можно ли дату, указываемую в

Код: Выделить всё

      
<dl style="clear: left;">
      <dt><label for="calM">{L_START_DATE}:</label></dt>
      <dd>{MONTH_SEL} {DAY_SEL} {YEAR_SEL}</dd>
</dl>

автоматом вносить и в

Код: Выделить всё

<dt><label for="calMEnd">{L_END_DATE}:</label></dt>

Или как-то приравнивать значение calMEnd к calM при заведении события?

Добавлено спустя 42 минуты 10 секунд:
Или поступить проще - скрыть ввод даты начала события? :idea:
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: phpbb3 Calendar

Сообщение Slash » Пт сен 27, 2013 8:12 am

makc_mb писал(а):Или поступить проще - скрыть ввод даты начала события?

Ну так сделайте проще. Скройте дату.

Вернуться в «phpBB»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость