PDA

View Full Version : переделать вывод ссылок в Html-контент


Cybermama
09.04.2006, 18:11
Вот нарыла такой замечательный модуль, перекидала в него туеву кучу *.html страниц и столкнулась с такой дурацкой проблемой:
мне надо как-то выводить список ссылок на статьи только из конкретного каталога
то есть у меня в шапке красивая менюшка с разделами например "Статьи", "Продукция" , "О Нас" - и надо, чтоб нажав на "Продукция" я получила бы список статей из одной категории модуля HTML-контент, на "Статьи" - ссылки из другой категории
Я не особо ковырялась в этом модуле, но логика мне подсказывает, что так уже делали, хотя в поиске я ничего не нашла

Cybermama
14.04.2006, 07:34
Ладно, может кому пригодится - я решила эту проблему так:
в index.php этого модуля добавляем функцию:
function kat($file_title)
{
global $pagetitle, $module_name, $db, $prefix;
$handle_main = opendir("modules/$module_name/files");
if ((!ereg("[.]",$file_title))) {
$result = $db->sql_query("SELECT * FROM ".$prefix."_html_pages_categories WHERE cid='$file_title'");
$row = $db->sql_fetchrow($result);
if($row){
$title_title = $row[title];
}else {
$title_title = ereg_replace("_", " ", $file_title);
}
$menucount++;
$menuid = "menu".$menucount;
$submenu = "sub".$menucount;

$content .= "<div id=\"cont\">";
$content .= "<table border=\"0\" id=\"".$menuid."\" onload=\"SwitchMenu('".$submenu."')\" style=\"cursor:pointer;\"><tr><td><img src=\"modules/$module_name/images/folder.gif\" alt=\"".$title_title."\" border=\"0\"></td><td class=\"storytitle\">".$title_title."</td></tr></table>";
$content .="</div>";

$content .="<div id=\"".$submenu."\" style=\"display:block;\">";
$handle_sub = opendir("modules/$module_name/files/".$file_title."");
while ($file_sub = readdir($handle_sub)) {
if (ereg("(.)+\\.(htm$)",$file_sub)) {
$href = "<a href=\"modules.php?name=$module_name&op=page&folder=".$file_title."&contentsite=".$file_sub."\" ";
$img = "html.gif";
$file_pid = ereg_replace(".htm", "", $file_sub);
$result2 = $db->sql_query("SELECT * FROM ".$prefix."_html_pages WHERE pid='$file_pid'");
$row2 = $db->sql_fetchrow($result2);
if($row2){
$sub_title = $row2[title];
}else {
$sub_title = ereg_replace(".htm", " ", $file_sub);
}
$content .= "<table border=\"0\"><tr><td>&nbsp;&nbsp;&nbsp;".$href."title=\"".$sub_title."\"><img src=\"modules/$module_name/images/".$img."\" border=\"0\"></a> </td><td>".$href."title=\"".$sub_title."\">".$sub_title."</a></td></tr></table>";
}
}
closedir($handle_sub);
$content .="</div>";

}
closedir($handle_main);
$pagetitle = " "._HTML_CONTENT."";
include("header.php");
require_once("modules/$module_name/SwitchMenu.js");
OpenTable();
echo $content;
CloseTable();
OpenTable();
echo "<center>[ <a href=\"javascript:history.go(-1)\">"._PAGEBACK."</a> | <a href=modules.php?name=$module_name>"._PAGEHOME."</a> | <a href=#>"._PAGETOP."</a> ]</center>";
CloseTable();
include("footer.php");
}

в конце этого файла в оператор switch добавляем:

case "kat":
kat($file_title);
break;


Теперь мы можем указывать прямую ссылку на содержимое конкретной категории таким образом:
http://вашсайт.ru /modules.php?name=Html_Content&op=categ&file_title=номер категории (http://вашсайт.ru/modules.php?name=Html_Content&op=categ&file_title=номер категории)

Нверное в коде есть лишнее, я не заново переписывала функцию, а переделывалана основе функции main(), но работает :-)))