Как я могу показать следующие/предыдущие ссылки в календаре при использовании строк запроса?
http://codeigniter.com/user_guide/libraries/calendar.html
Спасибо.
Как я могу показать следующие/предыдущие ссылки в календаре при использовании строк запроса?
http://codeigniter.com/user_guide/libraries/calendar.html
Спасибо.
Это должно быть довольно просто, но это не так просто, как установка параметра.
Во-первых, убедитесь, что вы установили свои настройки так, чтобы для параметра «show_next_prev» было установлено значение true, а для параметра «next_prev_url» — любой URL-адрес, по которому находится ваш календарь. Убедитесь, что вы ничего не ставите в конце URL-адреса, например косой черты, вопросительного знака и т. д.
Во-вторых, чтобы не взломать файл основной библиотеки, создайте новый класс с именем MY_Calendar и поместите его в папку вашего приложения/библиотеки. Сделайте этот класс расширением класса Calendar.
Затем скопируйте и вставьте функцию generate() из исходного класса Calendar в новый класс MY_Calendar. Теперь мы можем редактировать эту функцию, и она будет перезаписана без удаления оригинала.
Найдите строку (около строки 163), где косая черта добавляется к переменной next_prev_url, и удалите ее.
Через несколько строк вы увидите:
$out .= str_replace('{previous_url}', $this->next_prev_url.$adjusted_date['year'].'/'.$adjusted_date['month'], $this->temp['heading_previous_cell']);
Замените эту строку на:
$out .= str_replace('{previous_url}', $this->next_prev_url.'?year='.$adjusted_date['year'].'?month='.$adjusted_date['month'], $this->temp['heading_previous_cell']);
Затем сделайте то же самое несколькими строками позже для next_url. Это должно быть около строки 183 и будет выглядеть очень похоже.
И это должно быть так. Все, что вы сделали, это убедились, что синтаксис, сгенерированный для следующего и предыдущего URL-адресов, соответствует стилю строки запроса.
Обратите внимание, я не проверял это, но это должно работать!