Помогите пожалуйста реализовать
Спустя 9 минут, 59 секунд (16.11.2010 - 21:12) twin написал(а):
Ну начнем с того, что шаблон можно и изменить. Что значит
Цитата |
шаблон новостей идет единый прикрутить нельзя, в шаблоне страницы тоже нельзя.. |
Всё можно, было бы желание. Можно взять за основу гостевую книгу на SQL и объединить с новостями.
Спустя 1 минута, 40 секунд (16.11.2010 - 21:14) walters написал(а):
было бы неплохо сразу внедрить в news_controller.php чтобы автоматически выводило под новостью
Спустя 10 минут, 25 секунд (16.11.2010 - 21:24) walters написал(а):
twin
а что если разделить и сделать для краткой и полной разные шаблоны, и в контройлере сразу сделать выборку и вывести по новостью?
а что если разделить и сделать для краткой и полной разные шаблоны, и в контройлере сразу сделать выборку и вывести по новостью?
Спустя 5 минут, 54 секунды (16.11.2010 - 21:30) twin написал(а):
Не вопрос. Действуй)
Спустя 1 час, 4 секунды (16.11.2010 - 22:30) walters написал(а):
сделал, но хочу убедится что правильно
и вывод новостей уже выводим так
ну и уже естественно шаблон для коментариев
/**
* News line generation
* Генерация ленты новостей
*/
if(!empty($_SERVER['HTTP_REFERER'])
&& trim($_SERVER['HTTP_REFERER'], '/') !== trim(IRB_HOST, '/')
&& strpos($_SERVER['HTTP_REFERER'], 'about') === false)
{
$GET['news'] = 'all';
}
$tpl = getTpl('/shortnews');
$tpl2 = getTpl('/fullnews');
$news = '';
$tpl3 = getTpl('/comm');
$comm = '';
if(is_numeric($GET['news']))
{
/**
* News generation by id
* Генерация новости по id
*/
$res2 = mysqlQuery("SELECT `name`, `comm`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`
FROM `". IRB_DBPREFIX ."comments`
WHERE `id_news` = " . (int)$GET['news']);
if (mysql_num_rows($res2) > 0)
{
$row2 = mysql_fetch_assoc($res2);
$row2['date'] = $row2['day'] . ' ' . $lang_month_string[$row2['month']] . ' ' . $row2['year'];
$row2['name'] = htmlspecialchars($row2['name']);
$row2['comm'] = htmlspecialchars($row2['comm']);
$comm = parseTpl($tpl3, $row2);
}
$res = mysqlQuery("SELECT `id`, `subtitle`, `text`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`
FROM `". IRB_DBPREFIX ."news`
WHERE `public` = 1
AND `id` = " . (int)$GET['news']);
if (mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
$row['date'] = $row['day'] . ' ' . $lang_month_string[$row['month']] . ' ' . $row['year'];
$row['subtitle'] = htmlspecialchars($row['subtitle']);
$row['text'] = createBBtags($row['text']);
$row['url'] = href('news=all');
$row['link'] = IRB_LANG_ALL_NEWS;
$news = parseTpl($tpl2, $row);
}
else
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents(IRB_ROOT . '/404.html'));
}
}
else
{
$res = mysqlQuery("SELECT `id`, `date`,`subtitle`,`public`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`,
SUBSTRING_INDEX(`text`,' '," . IRB_NUM_WORD_NEWS_MAIN . ") AS `text`
FROM `". IRB_DBPREFIX ."news`
WHERE `public` = 1
ORDER BY `id` DESC
LIMIT ". IRB_NUM_NEWS_MAIN);
if(mysql_num_rows($res) > 0)
{
while ($row = mysql_fetch_assoc($res))
{
$row['date'] = $row['day'] . ' ' . $lang_month_string[$row['month']] . ' ' . $row['year'];
$row['subtitle'] = htmlspecialchars($row['subtitle']);
$row['text'] = createBBtags($row['text'], false) . "...";
$row['url'] = href('news=' . $row['id']);
$row['link'] = IRB_LANG_FULL_NEWS;
$news .= parseTpl($tpl, $row);
}
}
else
{
$news = IRB_LANG_NO_NEWS;
}
}
и вывод новостей уже выводим так
<div style="float:left; width:70%;"><?php echo $news; ?><br/><br/>
<?php echo $comm; ?>
</div>
ну и уже естественно шаблон для коментариев
<div style="padding:5px; margin-top:3px; width:95%; border:1px solid">
<p><?php echo $tpl_date ?><br />
<b><?php echo $tpl_name; ?></b></p>
<p><?php echo $tpl_comm; ?></p>
</div><br>
Спустя 15 минут, 51 секунда (16.11.2010 - 22:46) twin написал(а):
Замечательно...
Правда я сначала бы достал новость, а на основании ID , вынутого из базы, доставал бы комментарии. Это надежнее - раз, не даст вывести комменты к закрытой новости - два.
И еще, если у тебя уже используется функция BB-тегов, чего ты её на комментарии не повешаешь...
Правда я сначала бы достал новость, а на основании ID , вынутого из базы, доставал бы комментарии. Это надежнее - раз, не даст вывести комменты к закрытой новости - два.
И еще, если у тебя уже используется функция BB-тегов, чего ты её на комментарии не повешаешь...
Спустя 23 минуты (16.11.2010 - 23:09) walters написал(а):
исправил( но блин не пойму почему выводится только 1 коммент а не все
Спустя 12 минут, 59 секунд (16.11.2010 - 23:22) twin написал(а):
Ну а цикл то где?
Спустя 57 минут, 25 секунд (17.11.2010 - 00:19) walters написал(а):
добавил я
но почему то тоже только 1 коммент
while ($row = mysql_fetch_assoc($res))
но почему то тоже только 1 коммент
Спустя 21 минута, 42 секунды (17.11.2010 - 00:41) twin написал(а):
Код в студию
Спустя 17 минут (17.11.2010 - 00:58) walters написал(а):
/**
* News line generation
* Генерация ленты новостей
*/
if(!empty($_SERVER['HTTP_REFERER'])
&& trim($_SERVER['HTTP_REFERER'], '/') !== trim(IRB_HOST, '/')
&& strpos($_SERVER['HTTP_REFERER'], 'about') === false)
{
$GET['news'] = 'all';
}
$tpl = getTpl('/shortnews');
$tpl2 = getTpl('/fullnews');
$news = '';
$tpl3 = getTpl('/comm');
$comm = '';
if(is_numeric($GET['news']))
{
/**
* News generation by id
* Генерация новости по id
*/
$res = mysqlQuery("SELECT `id`, `subtitle`, `text`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`
FROM `". IRB_DBPREFIX ."news`
WHERE `public` = 1
AND `id` = " . (int)$GET['news']);
if (mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
$row['date'] = $row['day'] . ' ' . $lang_month_string[$row['month']] . ' ' . $row['year'];
$row['subtitle'] = htmlspecialchars($row['subtitle']);
$row['text'] = createBBtags($row['text']);
$row['url'] = href('news=all');
$row['link'] = IRB_LANG_ALL_NEWS;
$news = parseTpl($tpl2, $row);
$res2 = mysqlQuery("SELECT `name`, `comm`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`
FROM `". IRB_DBPREFIX ."comments`
WHERE `id_news` = " . (int)$GET['news']);
if (mysql_num_rows($res2) > 0)
{
while ($row2 = mysql_fetch_assoc($res2))
{
$row2['date'] = $row2['day'] . ' ' . $lang_month_string[$row2['month']] . ' ' . $row2['year'];
$row2['name'] = htmlspecialchars($row2['name']);
$row2['comm'] = htmlspecialchars($row2['comm']);
$comm = parseTpl($tpl3, $row2);
}
}
}
else
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents(IRB_ROOT . '/404.html'));
}
}
else
{
$res = mysqlQuery("SELECT `id`, `date`,`subtitle`,`public`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`,
SUBSTRING_INDEX(`text`,' '," . IRB_NUM_WORD_NEWS_MAIN . ") AS `text`
FROM `". IRB_DBPREFIX ."news`
WHERE `public` = 1
ORDER BY `id` DESC
LIMIT ". IRB_NUM_NEWS_MAIN);
if(mysql_num_rows($res) > 0)
{
while ($row = mysql_fetch_assoc($res))
{
$row['date'] = $row['day'] . ' ' . $lang_month_string[$row['month']] . ' ' . $row['year'];
$row['subtitle'] = htmlspecialchars($row['subtitle']);
$row['text'] = createBBtags($row['text'], false) . "...";
$row['url'] = href('news=' . $row['id']);
$row['link'] = IRB_LANG_FULL_NEWS;
$news .= parseTpl($tpl, $row);
}
}
else
{
$news = IRB_LANG_NO_NEWS;
}
}
Спустя 7 часов, 10 минут, 51 секунда (17.11.2010 - 08:09) twin написал(а):
$comm = parseTpl($tpl3, $row2);Посмотри внимательно. Все ли на месте.
Спустя 23 минуты, 32 секунды (17.11.2010 - 08:33) walters написал(а):
вроде всё на месте вот построение шаблона
а вот запрос
$tpl = getTpl('/shortnews');
$tpl2 = getTpl('/fullnews');
$news = '';
$tpl3 = getTpl('/comm');
$comm = '';
а вот запрос
$res2 = mysqlQuery("SELECT `name`, `comm`,
DATE_FORMAT(`date`,'%d') AS `day`,
DATE_FORMAT(`date`,'%m') AS `month`,
DATE_FORMAT(`date`,'%Y') AS `year`
FROM `". IRB_DBPREFIX ."comments`
WHERE `id_news` = " . (int)$GET['news']);
if (mysql_num_rows($res2) > 0)
{
while ($row2 = mysql_fetch_assoc($res2))
{
$row2['date'] = $row2['day'] . ' ' . $lang_month_string[$row2['month']] . ' ' . $row2['year'];
$row2['name'] = htmlspecialchars($row2['name']);
$row2['comm'] = htmlspecialchars($row2['comm']);
$comm = parseTpl($tpl3, $row2);
}
}
Спустя 1 час, 6 минут, 24 секунды (17.11.2010 - 09:39) twin написал(а):
Цитата |
вроде всё на месте |
Не все. Важна каждая точка.
Спустя 5 часов, 43 минуты, 39 секунд (17.11.2010 - 15:23) walters написал(а):
блин не нахожу, помоги пожалуйста
Спустя 31 минута, 28 секунд (17.11.2010 - 15:54) twin написал(а):
$comm .= parseTpl($tpl3, $row2);
Спустя 6 часов, 11 минут, 25 секунд (17.11.2010 - 22:05) walters написал(а):
спасибо большое
Вообще об этом не думал))
Вообще об этом не думал))