IPB

Здравствуйте, Гость ( Вход | Регистрация )

 
Ответить в этой темеОткрыть новую тему
> Robonews.info, вот такой журнальчик
Brony
сообщение Jul 28 2007, 11:01 PM
Сообщение #1


Member
**

Группа: User
Сообщений: 14
Регистрация:
7-April 07
Из: Minskas, Belarus
Пользователь №: 1,485



Всем привет!

Под девизом "Robonews.info - мир живой технологии" стартовал новостной блог посвященный "живым" машинам. rolleyes.gif
Буду признателен за Вашу оценку и рекомендации по улучшению.

Отдельное спасибо Suvoroff'у за оперативную помощь.



К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Jul 29 2007, 12:43 PM
Сообщение #2


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



отлично сделано
пожалуй лучший сайт что я встречал на движке nucleus.


--------------------
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение Jul 29 2007, 07:08 PM
Сообщение #3


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



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


--------------------
К началу страницы
 
+Цитировать Сообщение
Brony
сообщение Jul 29 2007, 11:06 PM
Сообщение #4


Member
**

Группа: User
Сообщений: 14
Регистрация:
7-April 07
Из: Minskas, Belarus
Пользователь №: 1,485



Спасибо за приятные слова. rolleyes.gif

ЦИТАТА
Хотелось бы у вас поинтересоваться, как вы реализовали в полной версии новости ссылки на другие новости вместе с небольшой картинкой?


Если я вас правильно понял, то вас интересует программная реализация "Читайте также".
Для это пришлось модифицировать код плагина NP_Keywords:

function doTemplateVar(&$item, $limit = 5, $anyblog = "")
{
if ($anyblog == "anyblog") {
$onlyblog = "";
} else {
$onlyblog = "AND i.iblog = " . $this->_getBlogid();
}
$keys=array(0=>"$item->itemid");
$sql = sprintf('SELECT keyword_id FROM %s WHERE key_id=%d',
sql_table('plug_keywords_relationship'),
intval($item->itemid));
$res = sql_query($sql);
while ($keywords = mysql_fetch_row($res)) {
$andkeywords .= 'kr.keyword_id = '. $keywords[0] .' OR ';
}
$andkeywords = substr($andkeywords, 0, strlen($andkeywords)-4);
mysql_free_result($res);
$sql2 = sprintf('SELECT i.inumber,
i.ititle,
i.imore,
i.itime,
i.icat,
i.iauthor,
k.keyword,
c.cname
FROM %s as kr,
%s as i,
%s as k,
%s as c
WHERE (%s)
AND kr.key_id = i.inumber
AND kr.key_id != %d
AND i.idraft = 0
AND i.itime<=%s
AND k.keyword_id = kr.keyword_id
AND c.catid = i.icat
%s
GROUP BY i.inumber
ORDER BY i.itime DESC
LIMIT %d',
sql_table('plug_keywords_relationship'),
sql_table('item'),
sql_table('plug_keywords_keyword'),
sql_table('category'),
$andkeywords,
intval($item->itemid),
mysqldate(time() + 3600 * $manager->settings['btimeoffset']),
$onlyblog,
intval($limit)
);
$res = sql_query($sql2);
// get keyword IDs for this article, now need to get list of articles that have same keyword
while ($o = mysql_fetch_array($res)) {
// uniques only
if ( ! in_array($o[0],$keys) ) {
if ($go != 1) {
echo "<br/><br/>\n\r<h2>Читайте также</h2>\n\r<br/>\n\r";
echo "<table>\n\r";
$go=1;
}
$o[2]=strstr($o[2], '<%image(');
$o[2]=strrev($o[2]);
$o[2]=strstr($o[2], '>%');
$o[2]=strrev($o[2]);
$o[2]=strstr($o[2], '-');
$o[2]=strrev($o[2]);
$o[2]=strstr($o[2], '.10-');
$o[2]=strrev($o[2]);
$o[2]=str_replace("-01.","",$o[2]);
$o[2]=str_replace("-","",$o[2]);
$timestamp = strtotime($o[3]);
$timestamp = date('j.m.Y', $timestamp);
$opendir = "./media/".$o[5];
$ok=0;
if (is_dir($opendir))
{
if ($handle = opendir($opendir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && eregi("[0-9]+-".$o[2]."-ra.((gif)|(jpe?g))",$file)) {
$ok=1;
$file=trim($file);
echo '<tr><td valign="top" id="readalso-img"><a href="'.createItemLink($o[0]).'"><img align="abstop" src="'.str_replace(".","",$opendir).'/'.$file.'" width="50" height="30" alt="'.$title[0].'"></a></td>';
break;
}
}
closedir($handle);
} if ($ok == 0)
{
echo '<tr><td valign="top" id="readalso-img"><a href="'. createItemLink($o[0]) .'"><img align="abstop" src='.'"/media/defaultra.jpeg" alt="'.$title[0].'" width="50" height="30"></a></td>';
}
echo "<td align=\"left\" valign=\"top\" id=\"readalso-link\"><em>".$timestamp." / ".$o[7]."</em><br>"; if ($o[1]) echo "<a href=\"". createItemLink($o[0]) ."\">".$o[1]."</a>";
else
echo "<a href=\"". createItemLink($o[0]) ."\">"."Без названия"."</a>";
echo "</td></tr>";
}
}
}
mysql_free_result($res);
if ($go == 1) {
echo "\n\r</table>\n\r";
}
}


Ситуацию с картинками пришлось обыграть своеобразно.
Картинка в smartbody считается основной, например 20070729-Air-01.jpg, здесь главное имя Air.
После чего используя полученное имя можно обратится к картинке 20070729-Air-RA.
Согласился бы с тем, что картинки можно обрабатывать скриптом автоматически. Возможно, в будущем можно будет реализовать.

Кстати, случаи "Это интересно" и 3 новости под шапкой работают аналогично на плагинах NP_MostPopular и плагине собственного
производства (выводит новости с высокими рейтингами за указанный отрезок времени).

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

p.s. Прошу извинить за ужасное оформление кода, не было времени сделать все красиво. unsure.gif
К началу страницы
 
+Цитировать Сообщение

Ответить в этой темеОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17th July 2019 - 03:39 PM
Рецепты - Скачать программы - Scripts