Перейти к публикации

Рекомендованные сообщения

Добрый день!

Нужна помощь. Хочу переделать календарик, так чтобы при наведении на дату выводилось не "Все посты за ...." с ссылкой на http://site.ru/Y/m/d/, а заголовок новости, опубликованной в этот день с ссылкой на эту новость.

Соответсвенно, в engine/modules/calendar.php

$sql = "SELECT DISTINCT DAYOFMONTH(date) as day FROM " . PREFIX . "_post WHERE date >= '{$year}-{$month}-01' AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH".$approve.$where_date;
после day приписываю ,title Здесь
$events[$row['day']] = strtotime($this_year."-".$this_month."-".$row['day']);
дописываю
$events[$title] = $row['title'];
а в коде формирования ссылки
$buffer .= '<td class="day-active"><a class="day-active" '.$go_page.'href="'.$config['http_home_url'].''.date("Y/m/d", $events[$cal_day]).'/" title="'.$lang['cal_post'].' '.$date['title'].'"><center>'.$cal_day.'</center></a></td>';

вместо $lang['cal_post'] вставляю $events[$title]. alt_name у меня все одинаковые - 1, поэтому после '/ добавляю 1.html

Но у меня на каждом дне выводится только заголовок новости, опубликованной в этом месяце последней.

Ребят, кто знает где ошибка, подскажите пожалуйста.

Ссылка на сообщение
Поделиться на других сайтах

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

Даже если статей несколько, можно будет сделать выборку, например, WHERE alt_name=1.

Ссылка на сообщение
Поделиться на других сайтах

не количеством строчек оценивается код

А чем же?

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

Или Вы думаете, что календарь - это самая главная часть в DLE и его модификация стоит практически четверть от всей стоимости скрипта?

Ссылка на сообщение
Поделиться на других сайтах

если тебе только одну новость - то смотри в сторону двумерного массива. аляоп:

$events[$row['day']]['title'] = $row['title'];

объясню почему - да потому что в твоем ШШШкоде только одному эл-ту идет присвоение и в итоге тот что идет в выборке последним у тебя и остается. вот тебе бесплатно то, за что ты хотел платить лавэ. Удачи мистер Скрудж. :D

только вот смысл просто title на ссылке менять - херня какая-то. Меняй уж тогда ссылку в календаре.

Изменено пользователем romen
Ссылка на сообщение
Поделиться на других сайтах

Да нет, нужно так, как описано в первом посте, просто вывести из базы титлы вместе с датой, и прицепить к атрибуту title="" в ссылке.

Upd: Я чуть опоздал с ответом...

Изменено пользователем Arch
Ссылка на сообщение
Поделиться на других сайтах

Да нет, нужно так, как описано в первом посте, просто вывести из базы титлы вместе с датой, и прицепить к атрибуту title="" в ссылке.

Upd: Я чуть опоздал с ответом...

ну так читай предыдущий мой пост или стучись в аццку 232521 дабы не раздувать форум

Ссылка на сообщение
Поделиться на других сайтах

а ты что думал что я тебе рабочий пример в одну строку дал. я тебе направление задал. а дальше сам. всего то пару строк поправить :P - сам говорил. ну подумай массивчик наверно тоже нужно как многомерный объявить - да?

можешь на раду с $events еще один массив заюзать

$events_title = array();

.....

$events_title[$row['day']] = $row['title'];

.....

только не забудь что календарь в двух файлах живет - один в ajax папке, второй в modules. удачи.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...