Naam voor onderdeel van menu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Hogeveen

Mark Hogeveen

02/01/2014 19:34:11
Quote Anchor link
Hallo,

Ik ben een menu aan het maken dat ongeveer de volgende structuur heeft

Item 1
|- Sub item
|- Sub item

Item 2
Item 3
Item 4
|- Sub item

etc.

Ik ben nu een php klasse aan het maken die een stukje van het menu moet bouwen. Dat stukje is het uitklappende, dus als je Item 1 openklikt, en er verschijnen subitems, dan is dat een aparte duv of ul. Hoe noem ik die <ul> of <div> nou? Het moet een klassenaam zijn voor php. Het is ook nog eens een menu voor een webwinkel, en er zijn meerdere klassen voor verschillende soorten menu's. Ik dacht al aan ShopMenuExpandPanel, ShopMenuSubItemsPanel, of iets dergelijks.
 
PHP hulp

PHP hulp

28/11/2024 16:39:39
 
Wouter J

Wouter J

02/01/2014 21:21:17
Quote Anchor link
Je bedoelt een menu dat uitklapt? Ik zou niet weten waarom dat een speciale PHP klasse moet zijn, aangezien dat een taak is de front-end niet de back-end, maar dan zal het iets als DropdownMenu worden.
 
Albert de Wit

Albert de Wit

03/01/2014 09:47:36
Quote Anchor link
Uhm, als je een menu wilt laten uitklappen, doe je dat met CSS/Javascript, niet met een PHP class toch?
 
Ozzie PHP

Ozzie PHP

03/01/2014 09:57:12
Quote Anchor link
Albert de Wit op 03/01/2014 09:47:36:
Uhm, als je een menu wilt laten uitklappen, doe je dat met CSS/Javascript, niet met een PHP class toch?

Hij zal gewoon bedoelen dat ie een class heeft die de juiste data aanlevert en eventueel de html opbouwt. Niet te moeilijk denken ;)
 
Joakim Broden

Joakim Broden

03/01/2014 10:31:05
Quote Anchor link
Ik zou gewoon een class maken zoiets als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php

    class Navigation {
        /**
         * @acces protected.
         * @var String.
         */

        protected $outerClass = 'navigation';

        /**
         * @acces public.
         * @param String $class.
         */

        public function setOuterClass($class) {
            $this->outerClass = $class;
        }


        /**
         * @acces public.
         * @return String.
         */

        public function getOuterClass() {
            return $this->outerClass();
        }

        
        /**
         * @acces public.
         * @param Array $items.
         * @return String.
         */

        public function getNavigation($items) {
            $navItems = array();

            foreach ($items as $key => $item)
                $navItem = '<a href="'.$item['url'].'" title="'.$item['title'].'">'.$item['title'].'</a>';

                if (count($item['children']) > 0) {
                    $navItem .= $this->getNavigation($item['children']);
                }


                $class = '';
            
                if ($key == 1) {
                    $class .= 'first ';
                }


                if ($class == count($items) - 1) {
                    $class .= 'last ';
                }


                $navItems[] = '<li class="'.trim($class).'">'.$navItem.'</li>';
            }


            if (count($navItems) > 0) {
                return '<ul class="'.trim($this->getOuterClass()).'">'.implode("\n", $navItems).'</ul>';
            }


            return '';
        }
    }


?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    $navigation
= new Navigation();

    $navigation->setOuterClass('main-navigation');

    echo $navigation->getNavigation(array(
        array('title' => 'Home', 'url' => '/home'),
        array('title' => 'PHP Hulp', 'url' => '/php-hulp'),
        array('title' => 'Contact', 'url' => '/contact')
    ));

?>


En met CSS/Javascript kun je bepalen wat voor soort menu het is. Dropdownmenu, etc etc
Gewijzigd op 03/01/2014 10:38:26 door Joakim Broden
 
Wouter J

Wouter J

03/01/2014 11:03:42
Quote Anchor link
Ozzie, nee want hij vraagt specifiek naar hoe dat heet, hij wil geen menu.

Hertog Jan, dat is niet heel erg OO. 1 klasse handelt nu het vasthouden van data en het renderen van een menu. Meer OO zou zoiets zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$nav
= new MenuBuilder('root');
$nav
    ->add(new MenuItem('Home', '/home'))
    ->
add(new MenuItem('PHP Hulp', '/php-hulp'))
    ->
add(new MenuBuilder('Contact')) // returned het submenu
        ->add(new MenuItem('map', '/contact/map'))
        ->
add(new MenuItem('team', '/contact/team'))
        ->
end() // 1 item terug
    ->add(new Menu('Google', 'http://google.com/', array('type' => 'external'))
;


$navRenderer = new HtmlMenuRenderer($nav);
$navView = $navRenderer->getView(); // new MenuView

echo $navView; // toont menu
?>
 
Ozzie PHP

Ozzie PHP

03/01/2014 11:23:24
Quote Anchor link
Wouter J op 03/01/2014 11:03:42:
Ozzie, nee want hij vraagt specifiek naar hoe dat heet, hij wil geen menu.

Harry hogeveen op 02/01/2014 19:34:11:
Ik ben een menu aan het maken dat ongeveer de volgende structuur heeft
...Ik ben nu een php klasse aan het maken die een stukje van het menu moet bouwen.

Albert de Wit op 03/01/2014 09:47:36:
Uhm, als je een menu wilt laten uitklappen, doe je dat met CSS/Javascript, niet met een PHP class toch?

Ozzie PHP op 03/01/2014 09:57:12:
Hij zal gewoon bedoelen dat ie een class heeft die de juiste data aanlevert en eventueel de html opbouwt. Niet te moeilijk denken ;)

Wat bedoel je Wouter?
 
Wouter J

Wouter J

03/01/2014 11:28:47
Quote Anchor link
Ozzie:

Harry hogeveen:
die een stukje van het menu moet bouwen. Dat stukje is het uitklappende, dus als je Item 1 openklikt, en er verschijnen subitems, dan is dat een aparte duv of ul. Hoe noem ik die <ul> of <div> nou?


Dat bedoel ik, hij wil niet een menu bouwen maar een stukje van een menu, het uitklappende. En dan vraag ik aan hem wat voor verschil dat in PHP heeft in vergelijking met het normale menu?
 
Ozzie PHP

Ozzie PHP

03/01/2014 11:32:38
Quote Anchor link
Oh, ik het niet helemaal volgen nu :)
Maar jullie komen er wel uit geloof ik.
 
Ward van der Put
Moderator

Ward van der Put

03/01/2014 12:46:46
Quote Anchor link
Afbeelding
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.