Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Установка Модулей (http://forum.mynuke.ru/forumdisplay.php?f=10)
-   -   Категории в модуле Pages (http://forum.mynuke.ru/showthread.php?t=85)

Soniks 30.03.2005 02:43

Brigadir смотри выше!
Цитата А можно сделать так, чтобы "Страница первая" не просто в форме текста шла, а в виде ссылки, как и все остальные подкатегории?

та так оно и есть!

я этот хак перезалил еще раз, подправил кое что

Brigadir 30.03.2005 02:52

:jumplol:
Всё заработало! Спасибо!

Brigadir 31.03.2005 22:09

Soniks, добрый вечер!
"Небольшая" проблемка вылезла наружу...
Дело в том, что при добавлении статьи в модуле Pages всё проходит на ура.
Но когда эту уже размещенную статью желаешь отредактировать, то текст в режиме предпросмотра присутствует, а ниже, во встроенном редакторе его просто нет :oooo: Там вообще пустой редактор...

Вот такая вот беда... Частенько приходится редактировать... А так хочется "добить" это дело до предидеального состояния! Опять же не знаю как... :oops:

Soniks 31.03.2005 22:42

Brigadir да, одну строчку забыл добавить
Открой фаил admin/modules/pages.php
Найди в функции function pages_edit_pr_page приблизительно 617 строку:
PHP код:
 $oFCKeditor->InstanceName "bodytext" 
и ниже добавь:
PHP код:
 $oFCKeditor->Value "$bodytext"


Архив перелил!

Brigadir 14.04.2005 23:42

А вот еще хотелось бы узнать:
как сделать так, чтобы последние публикации отображались не только на главной странице, но и на каждой последующей подкатегории (т.е. последние публикации, соответствующие этой категории) ?
Буду признателен если кто подскажет... :wink:

Soniks 15.04.2005 00:59

Brigadir надо все проделать по аналогии как и при выводе первой страницы в этом модуле, за это отвечает функция main()
Вот этот код там какраз отвечает, за вывод новинок (~152):
PHP код:
 if ($newhome == 1) {
    
$sql3 "SELECT pid, title, hometext, UNIX_TIMESTAMP(date) as postdate FROM ".$prefix."_smallpages WHERE cid !='0' AND active = '1' ORDER BY pid DESC LIMIT $newhomenum";
    
$result3 $db->sql_query($sql3);
    if (
$numrows $db->sql_numrows($result3) > 0) {
    echo 
"<b>"._NEWPAGES."</b><hr>";
    while (
$row $db->sql_fetchrow($result3)) {
    
$p_pid $row[pid];
    
$p_title $row[title];
    
$p_hometext $row[hometext];
    
$p_hometext stripslashes(check_html($p_hometextnohtml));
    
$p_date date("d/m/Y"$row["postdate"]);
    echo 
"<img border=\"0\" src=\"modules/$module_name/images/page_pic.gif\" width=\"10\" height=\"14\"><b><a style=\"TEXT-DECORATION: none\" href=modules.php?name=$module_name&go=page&pid=$p_pid>$p_title</a></b><br><i>$p_hometext</i><br>"._SENDDATE.": $p_date<br><br>";
    }
    }
    } 

добавить его можно в функциии cat($cid) и showcat($cid). Эти две функции отличаются тем, что одна отображеет в себе категории и под-категории, а вторая только содержимая категории, т.е. если в категории нет под-категорий, то используется ф-ция showcat, а если есть подкатегории, то cat. Поэтому выбирайте сами где вы хотите видеть эту информацию об обновлении туда и добавляйте или же сразу в обе
в cat($cid):
найдите:
PHP код:
 $sql4 "SELECT pid, title, hometext, UNIX_TIMESTAMP(date) as postdate FROM ".$prefix."_smallpages WHERE cid ='$cid' AND active = '1' ORDER BY pid DESC"

Выше добавьте:
PHP код:
 if ($newhome == 1) {
    
$sql3 "SELECT pid, title, hometext, UNIX_TIMESTAMP(date) as postdate FROM ".$prefix."_smallpages WHERE cid ='$cid' AND active = '1' ORDER BY pid DESC LIMIT $newhomenum";
    
$result3 $db->sql_query($sql3);
    if (
$numrows $db->sql_numrows($result3) > 0) {
    echo 
"<b>"._NEWPAGES."</b><hr>";
    while (
$row $db->sql_fetchrow($result3)) {
    
$p_pid $row[pid];
    
$p_title $row[title];
    
$p_hometext $row[hometext];
    
$p_hometext stripslashes(check_html($p_hometextnohtml));
    
$p_date date("d/m/Y"$row["postdate"]);
    echo 
"<img border=\"0\" src=\"modules/$module_name/images/page_pic.gif\" width=\"10\" height=\"14\"><b><a style=\"TEXT-DECORATION: none\" href=modules.php?name=$module_name&go=page&pid=$p_pid>$p_title</a></b><br><i>$p_hometext</i><br>"._SENDDATE.": $p_date<br><br>";
    }
    }
    } 

в showcat($cid):
найдите:
PHP код:
 $sql "SELECT pid, title, hometext, UNIX_TIMESTAMP(date) as postdate, counter FROM ".$prefix."_smallpages WHERE cid ='$cid' AND active = '1' ORDER BY pid DESC limit $offset$numpage"

Выше добавьте:
PHP код:
 if ($newhome == 1) {
    
$sql3 "SELECT pid, title, hometext, UNIX_TIMESTAMP(date) as postdate FROM ".$prefix."_smallpages WHERE cid ='$cid' AND active = '1' ORDER BY pid DESC LIMIT $newhomenum";
    
$result3 $db->sql_query($sql3);
    if (
$numrows $db->sql_numrows($result3) > 0) {
    echo 
"<b>"._NEWPAGES."</b><hr>";
    while (
$row $db->sql_fetchrow($result3)) {
    
$p_pid $row[pid];
    
$p_title $row[title];
    
$p_hometext $row[hometext];
    
$p_hometext stripslashes(check_html($p_hometextnohtml));
    
$p_date date("d/m/Y"$row["postdate"]);
    echo 
"<img border=\"0\" src=\"modules/$module_name/images/page_pic.gif\" width=\"10\" height=\"14\"><b><a style=\"TEXT-DECORATION: none\" href=modules.php?name=$module_name&go=page&pid=$p_pid>$p_title</a></b><br><i>$p_hometext</i><br>"._SENDDATE.": $p_date<br><br>";
    }
    }
    } 

так же надо добавить в каждую из этих функциию следующие переменные в global (идет сразу после объявлении функции, добавлять надо через запятую, в конце точка с запятой): $newhome,$newhomenum
теперь если в конфиге будет установленно переменной $newhome=1, то помимо отображения новых на главной будет и на остальных категориях!

Brigadir 21.04.2005 21:09

Добрый вечер, Soniks!
Появился еще один вопрос... Надеюсь не надоел ещё... :oops:
Если поможешь решить его, то модуль можно быдет смело называть SoniksPages или Pages by Soniks! :wink:

Суть такова:

Есть много категорий, которые содержат не меньшее количество подкатегорий
Предположим есть категория "Спорт". В ней есть 2 подкатегории:
1. Формула 1
2. Мотоспорт

Допустим, созданию очередную страничку и называю её "Гран-При Австралии" и отношу её в подкатегорию "Формула 1".
Когда открывается модуль Pages, то на главной страничке высвечиваются "Последние публикации", одной из которых будет "Гран-При Австралии".
Пользователь не сможет сразу определить, к какой подкатегории относится данная публикация, поэтому вопрос...
Можно ли сделать вывод не просто названия Последней публикации, а в таком виде:
Спорт > Формула 1 > Гран-При Австралии ?
Но чтобы и "Спорт", и "Формула 1" являлись ссылками на соответствующие разделы/подразделы, а "Гран-При Австралии" - на саму публикацию...

Ну вот, вроде как объяснил... :jumplol:
Это реально проделать? При том, что уровеньподкатегорий может быть и 3-м и 4-м

Soniks 21.04.2005 21:32

Brigadir впринципе все это реально, но как всегда это все бцудет перегружать базу
на днях гляну, как это можно осуществить.

Brigadir 21.04.2005 23:34

Цитата: Сообщение от Soniks
Brigadir впринципе все это реально, но как всегда это все бцудет перегружать базу
на днях гляну, как это можно осуществить.


Soniks, подскажи с чего начать! Может и сам додумаюсь...

Soniks 22.04.2005 00:00

Аналогично вывода линейного меню.
Найди:
PHP код:
 function main() { 

Выше добавь:
PHP код:
 function cat_new_home($cid){
global 
$db$prefix;
$cid intval($cid);
$result $db->sql_query("SELECT title, parentid FROM ".$prefix."_smallpages_categories WHERE cid='$cid'");
list(
$title,$parentid) = $db->sql_fetchrow($result);
if(
$parentid != "0"){
cat_new_home($parentid);
links($cid);
echo 
"$title > </a>";
}
else{
links($cid);
echo
"$title > </a>";
}


Эта функция у нас отвечает за вывод списка категорий до нужной страницы.
В функции main() найди:
PHP код:
 while ($row $db->sql_fetchrow($result3)) {
    
$p_pid $row[pid]; 

Ниже добавь:
PHP код:
 $p_cid $row[cid]; 

Еще чуть ниже найди:
PHP код:
 echo "<img border=\"0\" src=\"modules/$module_name/images/page_pic.gif\" width=\"10\" height=\"14\"><b><a style=\"TEXT-DECORATION: none\" href=modules.php?name=$module_name&go=page&pid=$p_pid>$p_title</a></b><br><i>$p_hometext</i><br>"._SENDDATE.": $p_date<br><br>"

замени на:
PHP код:
 echo "<img border=\"0\" src=\"modules/$module_name/images/page_pic.gif\" width=\"10\" height=\"14\">";
cat_new_home($p_cid);
echo 
"<b><a style=\"TEXT-DECORATION: none\" href=modules.php?name=$module_name&go=page&pid=$p_pid>$p_title</a></b><br><i>$p_hometext</i><br>"._SENDDATE.": $p_date<br><br>"

Вот и все:wink:


Часовой пояс GMT +4, время: 12:55.

Copyright © 2005 by Soniks