Jag har denna array med info till en meny:
<?php
/**
*
* @version $Id$
* @copyright 2003
*/
// BEGIN MENU_TEXT DEFINTION
// START
$menu_text['st-start'] = 'Start';
$menu_text['st-contact'] = 'Contact';
$menu_text['st-how'] = 'How it works';
$menu_text['st-faq'] = 'FAQ';
// JOIN
$menu_text['jo-joinform'] = 'Join us!';
$menu_text['jo-agreement'] = 'Terms & Conditions';
$menu_text['jo-privacy'] = 'Privacy policy';
$menu_text['jo-antispam'] = 'Anti-spam policy';
// MEMBERS
$menu_text['me-loginform'] = 'Login';
$menu_text['me-logout'] = 'Logout';
$menu_text['me-stats'] = 'Statistics';
$menu_text['me-news'] = 'News';
$menu_text['me-download'] = 'Download Surfbar';
$menu_text['me-updateform'] = 'Update profile';
$menu_text['me-forgotuserinfoform'] = 'Lost password?';
$menu_text['me-referralcenter'] = 'Referral-tips';
$menu_text['me-help'] = 'Help';
$menu_text['me-banners'] = 'Banners';
$menu_text['me-history'] = 'History';
$menu_text['me-deals'] = 'Special deals';
$menu_text['me-deleteform'] = 'Cancel account';
// ADVERTISING
$menu_text['ad-info'] = 'Info';
$menu_text['ad-loginform'] = 'Login';
$menu_text['ad-stats'] = 'Statistics';
$menu_text['ad-updateform'] = 'Update campaign';
$menu_text['ad-buyadvertising'] = 'Buy advertising';
$menu_text['ad-benefits'] = 'Benefits';
$menu_text['ad-pricing'] = 'Pricing';
$menu_text['ad-buybanners_agreement'] = 'Advertising agreement';
?>
Jag använder denna kod för att loopa igenom arrayen och skapa länkar:
foreach($menu_text as $key => $val) {
$menu_var = substr($key, 0, 2);
$main_var = substr($key, 3);
echo "<a href=\"index.php?menu_var=$menu_var&main_var=$main_var\">$val</a><br />";
}
Nu är det så att alla länkar skrivs ut med radbrytning mellan, men jag skulle vilja få med rubrikerna Start, Join, Members och Advertising också, samt ha flera radbrytningar mellan varje block av rubrik och dess länkar. Någon som har nån vettig idé?
PpimmeMedlem sedan sep. 20011 086 inlägg Om du tvunget ska ha din konfigfil uppbyggt på samma sätt.
foreach($menu_text as $key => $val) {
$menu_var = substr($key, 0, 2);
$main_var = substr($key, 3);
$tmp[$menu_var][$main_var] = $val;
}
foreach($tmp as $menu_var => $arr)
{
foreach($arr as $main_var => $var)
{
echo "<a href=\"index.php?menu_var=$menu_var&main_var=$main_var\">$val</a><br />";
}
}
Annars skulle jag föreslå att du gör om konfigfilen till att se ut så här:
$menu_text['st']['start'] = ...
osv.
Och bara köra den sista foreachloopen jag skrev.
Koden är otestad, men jag tror att om den inte funkar så fattar du ungefär hur du ska göra. ;)
Oki doki, tack. *hm, funderar*
MatteMedlem sedan aug. 20002 975 inläggDu skulle kunna göra så här:
$rubriker = array('st'=>'START', 'jo'=>'JOIN', 'me'=>'MEMBERS', 'ad'=>'ADVERTISING');
$tmp = "";
foreach($menu_text as $key => $val) {
$menu_var = substr($key, 0, 2);
$main_var = substr($key, 3);
if ($tmp != $menu_var) {
$tmp = $menu_var;
echo "<h3>{$rubriker[$tmp]}</h3>\n";
}
echo "<a href=\"index.php?menu_var=$menu_var&main_var=$main_var\">$val</a><br />";
}
Matte: my man. Det där verkar ruggigt bra. Tack!