Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> календарь с понедельника, числа месяца начинаются не с понедельника
capau  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42136
На форуме: 1 год, 9 дней
Карма:




имею вот такой код:

function pouchkin_events_calendar_widget() {
extract( shortcode_atts( array(
'month' => current_time('m', 0),
'year' => current_time('Y', 0),
),

$atts, 'pou-events' )
);


$cal_output = "";
$month = current_time('m', 0);
$year = current_time('Y', 0);

$events = array();
$args = array(
'post_type' => 'pouchkin_events',
'posts_per_page' => -1,
);


$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$event_date = get_post_custom_values('event-date');
$event_date = strtotime($event_date[0]);

$events[] = "<a href=\"".get_permalink($loop->ID)."\">".get_the_title()."</a>==".$event_date."==<a href=\"".get_permalink($loop->ID)."\"> </a>".get_the_excerpt();
endwhile;

$dayofmonth = date('t', mktime(0, 0, 0, $month, 1, $year));
$dayofweek = date('w', mktime(0, 0, 0, $month, 1, $year));

foreach($events as $event) {
$event_array = explode('==', $event);
$event_link = $event_array[0];
$event_date = intval($event_array[1]);

$event_year = date('Y', $event_date);
$event_month = date('m', $event_date);
$event_day = date('d', $event_date);

}

$cal_output .= "

<div id=
\"pouchkin-events-calendar-container\">

<div id=
\"pouchkin-events-calendar\">
<table class=
\"pouchkin-events-calendar\" id=\"".$month."-".$year."\">
<thead>
<tr>
<th>"
.__( 'Пн' )."</th>
<th>"
.__( 'Вт' )."</th>
<th>"
.__( 'Ср' )."</th>
<th>"
.__( 'Чт' )."</th>
<th>"
.__( 'Пт' )."</th>
<th>"
.__( 'Сб' )."</th>
<th>"
.__( 'Вс' )."</th>
</tr>
</thead>
<tbody>
<tr>"
;

$day_count = 1;

for($i = 1; $i <= $dayofmonth; $i++) {

$cal_output .= "<td".$class.">";

$day_events = array();

foreach( $events as $event ) {

$event_array = explode('==', $event);
$event_link = $event_array[0];
$event_date = $event_array[1];

$event_year = date('Y', intval($event_date));
$event_month = date('m', intval($event_date));
$event_day = date('d', intval($event_date));

if($event_year == $year && $event_month == $month && $event_day == $i) { $day_events[$i][] = $event_link; }
}


if(!empty($day_events[$i])) {
$cal_output .= $i;
foreach($day_events[$i] as $event) {
$cal_output .= '<div class="pouchkin-event-hover">'.$event.'</div>';
}
}
else {
$cal_output .= $i;
}

$cal_output .= "</td>";
$class = "";

$k++;
if($k % 7 == 0) {
$cal_output .= "</tr>
<tr>"
;
}
$x++;
}

$cal_output .= "
</tr>
</tbody>
</table>
</div>
</div>"
;

wp_reset_query();

return $cal_output;
}
add_shortcode('mini-calendar', 'pouchkin_events_calendar_widget');


всё прекрасно работает за исключением одного
название дней недели, выставленные в шапке не соответствуют числам в календаре
т.е. по числам неделя начинается с воскресенья
нужно чтобы начиналось всё с понедельника

не могу найти ошибку
подскажите куда искать?
поправьте пожалуйста
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


скрин сделай своего календаря и выложи здесь

а то по коду я вижу, что у тебя каждый месяц начинается с первого столбца таблицы

for($i = 1; $i <= $dayofmonth; $i++) {


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев
Карма: 184




Игорь_Vasinsky
+ последний ряд не заполняется пустыми (или днями следующего месяца) td, если в последней недели месяца меньше 7 дней.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


Цитата
+ последний ряд не заполняется пустыми (или днями следующего месяца) td, если в последней недели месяца меньше 7 дней.

угу.

Цитата
название дней недели, выставленные в шапке не соответствуют числам в календаре

я тебе больше скажу - в следующем году у тебя шаг ещё и увеличиться.

я не вижу у тебя никакой связи шапки с днями недели и числами.
т.е. шапка у тебя статическая.

говорю же - дай скриншот своего календаря - чтоб хоть как то соориентироваться.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
capau  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42136
На форуме: 1 год, 9 дней
Карма:




user posted image

Цитата
последний ряд не заполняется пустыми (или днями следующего месяца) td, если в последней недели месяца меньше 7 дней.

он и не должен ничем заполняться. задачи такой нет

Это сообщение отредактировал capau - 23.11.2015 - 14:42
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


тогда тебе нужно выяснять какой день недели попадает на 1е число месяца и от туда рисовать.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
capau  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42136
На форуме: 1 год, 9 дней
Карма:




Цитата
тогда тебе нужно выяснять какой день недели попадает на 1е число месяца и от туда рисовать.

задача вывести памятные даты на текущий месяц
1е число у всех месяцев выпадает на разные дни недели
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


Цитата
1е число у всех месяцев выпадает на разные дни недели

да ясен пень.

шапку ты рисуешь статичную

	<thead>
<
tr>
<
th>".__( 'Пн' )."</th>
<
th>".__( 'Вт' )."</th>
<
th>".__( 'Ср' )."</th>
<
th>".__( 'Чт' )."</th>
<
th>".__( 'Пт' )."</th>
<
th>".__( 'Сб' )."</th>
<
th>".__( 'Вс' )."</th>
</
tr>
</
thead>


и числа ты рисуешь всегда с первой ячейки первой колонки таблицы

for($i = 1; $i <= $dayofmonth; $i++) {

$cal_output .= "<td".$class.">";

$day_events = array();

foreach( $events as $event ) {

$event_array = explode('==', $event);
$event_link = $event_array[0];
$event_date = $event_array[1];

$event_year = date('Y', intval($event_date));
$event_month = date('m', intval($event_date));
$event_day = date('d', intval($event_date));

if($event_year == $year && $event_month == $month && $event_day == $i) { $day_events[$i][] = $event_link; }
}


if(!empty($day_events[$i])) {
$cal_output .= $i;
foreach($day_events[$i] as $event) {
$cal_output .= '<div class="pouchkin-event-hover">'.$event.'</div>';
}
}
else {
$cal_output .= $i;
}

$cal_output .= "</td>";
$class = "";


Цитата
$i = 1; $i <= $dayofmonth; $i++


а тебе не с первой надо - тебе нужно выяснить какой день недели попадает на первое число твоего месяца и от туда начинать

т.е. если вторник то

//компенсация 1 день, так как мы считаем со вторника
for($i = 1; $i <= $dayofmonth+1; $i++) {
//счёт месяца начнётся со 2го дня недели
if($i>1){
//ту же самую $i используем для простановки числа, но нужно компенсировать, что мы начили считать с 2х
echo '<td>' . ($i-1) . '</td>';
}
}


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
capau  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42136
На форуме: 1 год, 9 дней
Карма:




Цитата
шапку ты рисуешь статичную
и числа ты рисуешь всегда с первой ячейки первой колонки таблицы

это я понял
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


capau
Цитата
это я понял

конец дискуссии ?


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
capau  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42136
На форуме: 1 год, 9 дней
Карма:




Цитата
конец дискуссии ?

при чём тут дискуссия?

Цитата
название дней недели, выставленные в шапке не соответствуют числам в календаре

всё что я хотел, это исправить эту ситуацию
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


capau
Вот же инструкция http://phpforum.su/index.php?act=Print&cli...limin=7&limit=1

или ты хотел чтобы написали за тебя?

для этого есть раздел "Проекты"

озвучиваешь сроки, стоимость и всё.

либо показывай свои наработки, будем двигаться дальше.

а так можешь долго ждать. халявщики тоже не приветствуются, даже если ты просто просишь помощи, даже если ты не программист, даже если ты вообще не бум-бум.

Цитата
при чём тут дискуссия?

топик закрываем? вопрос решён?
вот этот топик и есть дискуссия - между мной,тобой и остальными участниками.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
capau  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 42136
На форуме: 1 год, 9 дней
Карма:




Цитата
топик закрываем? вопрос решён?

вопрос решён
ошибка закралась здесь:
$dayofweek = date('w', mktime(0, 0, 0, $month, 1, $year -1));


Цитата
Дискуссия (от лат. discussio — рассмотрение, исследование) — обсуждение спорного вопроса, проблемы.

у меня был вопрос: как исправить. ни дискутировать, ни спорить ни с кем я не собирался.
вопрос «как» не подразумевает дискуссии в принципе

вопрос решён
закрывайте топик

Это сообщение отредактировал capau - 23.11.2015 - 16:14
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 4 дня


laugh.gif laugh.gif laugh.gif
ну удач тебе образованный человек. заходь если что.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса