Bu benim kodlamaya çalıştığım bir betiğin index.php sayfası, ben menüde veritabanı yerine xml kullanıcam, sen xml verilerinin yerine veritabanından gelen kendi linklerinin kodlarını yazacaksın, verdiğin linkin orta kısımda görünmesi için tek yapacağın şey linke target olarak body yazmak, yani body çerçevesini tanımlamak...
Bu yöntem kesinlikle amatörce bir yöntem değildir, iframe mantığı ile çalışmaz, iframe yönteminde sessionlarda sorun yaşarsınız ama bu yöntem ile yaşamazsınız...
Kodlarda syntax hatası olabilir, kendi kodlarımı kırparak verdim..
index.php
<?php
include('../global.php');
// Frameset
if(empty($_REQUEST['do'])){
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<head>
<title>Cipso Portal v1.0</title>
</head>
<frameset rows="14%,95%" frameborder="no" border="0">
<frame src="'.$_SERVER['PHP_SELF'].'?do=top" name="top" border="0" noresize="noresize" scrolling="no" marginwidth="0" marginheight="0"/>
<frameset cols="15%,85%" frameborder="no" border="0">
<frame src="'.$_SERVER['PHP_SELF'].'?do=menu" name="menu" noresize="noresize" scrolling="auto" marginwidth="0" marginheight="0"/>
<frame src="'.$_SERVER['PHP_SELF'].'?do=body" name="body" scrolling="auto" marginwidth="0" marginheight="0"/>
</frameset>
</frameset>
<noframes>
<body>
Your browser dosen\'t support frameset action!
</body>
</noframes>
</html>
';
}
// Menu frame
if($_REQUEST['do']=='menu'){
echo '<link rel="stylesheet" type="text/css" href="style/admin/default/default.css" />';
echo '<table width="100%"><tr><td id="mainmenu"><a target="body" href="'.$_SERVER['PHP_SELF'].'?do=body">Kontrol Paneli</a></td></tr>';
$xmldir='./includes/cpmenuxml/';
$dir = opendir($xmldir);
while (gettype($file=readdir($dir))!=boolean){
if(fileext($file)=='xml'){
$xml = simplexml_load_file($xmldir.$file);
for($i=0;$i<count($xml->mainmenu);$i++){
echo '<tr><td id="mainmenu">'.$xml->mainmenu[$i].'</a></td></tr>';
for($i=0;$i<count($xml->submenu);$i++){
echo '<tr><td id="submenu"><a target="body" href="'.$xml->submenulink[$i].'" title="'.$xml->submenu[$i].'">'.$xml->submenu[$i].'</a></td></tr>';
}}
}
}
closedir ($dir);
echo '</table>';
}
// Body frame
if($_REQUEST['do']=='body'){
echo 'body';
}
// Top frame
if($_REQUEST['do']=='top'){
echo '<img src="images/logo.gif" width="130" height="76" title="Cipso Portal Engine"/>
';
}
?>settings.xmlyukarıdaki koda göre includes/cpmenuxml/ klasörü içinde olmalı
<?xml version="1.0" encoding="iso-8859-1"?> <menu> <mainmenu>Settings</mainmenu> <mainmenulink></mainmenulink> <submenu>General Settings</submenu> <submenulink>settings.php</submenulink> <submenu>Site Settings</submenu> <submenulink>settings.php?do=site</submenulink> </menu>