Php script για μενού

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
krisg
Δημοσιεύσεις: 1
Εγγραφή: 13 Σεπ 2008 13:09

Php script για μενού

Δημοσίευση από krisg » 13 Σεπ 2008 13:24

Γειά σας,
Έχω ένα script php που δημιουργεί από μια βάση MySql ένα μενού...
Το μενού ανοίγει τις σελίδες στο ίδιο παράθυρο, σε όλες τις επιλογές του. (Αρχική | φόρουμ | προφίλ... κλπ)
Θα ήθελα κάποια ή κάποιες επιλογές να ανοίγουν σε νέο παράθυρο, ανάλογα με το όνομα (π.χ όταν επιλέγει κάποιος "προφίλ")
Μπορεί κάποιος να μου πεί πως μπορώ να το κάνω;
Σημείωση: Δεν γνωρίζω php, οπότε ένας πλήρης κώδικας και σε πια γραμμή θα ήταν ότι καλύτερο.
Σας παραθέτω το script, και σας ευχαριστώ εκ των προτέρων.

----------------------------------------
<?php

require_once( DIR_APP.'app.navigation_menu.php' ); |Εδώ παίρνει τα στοιχεία από τον πίνακα|

require_once( DIR_INC.'class.component.php' );


/**
* Navigation menu component
*/
class componentNavigationMenu extends Component
{
/**
* All menu items
*
* @var array
*
*/
var $_menu_items;

/**
* Menu name
*
* @var string
*
*/
var $_menu_name;

/**
* Current document key
*
* @var string
*
*/
var $_document_key;

/**
* First item of menu
*
* @var array
*
*/
var $first_item;

/**
* Menu item submenu
* Contains compiled submenu component
*
* @var string
*
*/
var $_submenu;

/**
* User membership type id
*
* @var integer
*
*/
var $_membership_type_id;

var $_submenu_resource_name;

/**
* Class constructor
*
* Gets all menu items and menu items submenu
*
* @param string $resource_name
* @param string $menu_name
*
*/
function componentNavigationMenu( $resource_name, $menu_name, $submenu_resource_name = null )
{
parent::Component( $resource_name );

$this->_menu_name = $menu_name;
$this->_document_key = getDocumentKey();
$this->_membership_type_id = appMembership::GetProfileMembershipTypeId( getProfileId() );

$this->_submenu_resource_name = strlen( $submenu_resource_name ) ? $submenu_resource_name : $resource_name;

$this->first_item = appNavigationMenu::getFirstMenuItem( $menu_name, $this->_membership_type_id );

$items = appNavigationMenu::getMenu( $menu_name, $this->_membership_type_id );

if ( !$items )
return false;

foreach( $items as $_item )
{
$_item_url = GetDocumentURL( $_item['document_key'] );
$this->addItem( $_item['menu_item_id'], $_item['name'], $_item['item_type'], $_item_url, $_item['document_key'] );
}
}

/**
* Add menu item to array
*
* Detect if item a submenu. If true compile submenu component
*
* @param integer $item_id
* @param string $item_name
* @param string $item_type
* @param string $item_url
* @param string $item_document_key
*
*/
function addItem( $item_id, $item_name, $item_type, $item_url, $item_document_key )
{
global $language;
global $frontend;

switch( $item_type )
{
case 'item':

$this->_menu_items[$item_name]['url'] = $item_url;
$this->_menu_items[$item_name]['label'] = $language->Text( $item_name, 'nav_menu_item' );

if ( $item_document_key == $this->_document_key )
$this->_menu_items[$item_name]['_postfix'] = '_active';

break;

case 'menu':

$_first_menu_item = appNavigationMenu::getFirstMenuItem( $item_id, $this->_membership_type_id );

if( appNavigationMenu::IsItemMenuActive( $item_id, $this->_document_key, $this->_membership_type_id ) )
{
$_submenu =& new ComponentNavigationMenu( $this->_submenu_resource_name, $item_name );

$this->_submenu = $_submenu->Compile( $frontend );

$this->_menu_items[$item_name]['_postfix'] = '_active';
}

$this->_menu_items[$item_name]['url'] = strlen( $item_document_key ) ? $item_url : URL_HOME . $_first_menu_item['url'];
$this->_menu_items[$item_name]['label'] = $language->Text( $item_name, 'nav_menu_item' );

break;
}
}

function Compile( &$frontend )
{
$this->cmp_vars['menu_items'] = $this->_menu_items;
$this->cmp_vars[$this->_menu_name.'_submenu'] = $this->_submenu;

return parent::Compile( $frontend );
}
}

?>
---------------------------

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες