Вход Регистрация
Файл: cobisja/BootHelp/Guide/content/nav.php
Строк: 377
<?php

/*
 * BootHelp - PHP Helpers for Bootstrap
 *
 * (The MIT License)
 *
 * Copyright (c) 2015 Jorge Cobis <jcobis@gmail.com / http://twitter.com/cobisja>.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

use cobisjaBootHelpBootHelp;
use 
cobisjaBootHelpHelpersLinkTo;
use 
cobisjaBootHelpGuideSample;

// Change $href to match your BootHelp app root path.
$href 'http://localhost/local_php/BootHelp/index.php';

$navs = [
    
'title'=>'Navs',
    
'samples'=>[
        [
            
'name'=> 'Basic navs',
            
'description'=>'Use <code>nav</code> without options to display the included links as a row of tabs.
Note that links are automatically wrapped in <code>li</code> tags if you use the helper <code>linkTo</code> or class <code>LinkTo</code>.
Additionally, if any link matches the current URL, its <code>li</code> tag automatically gets the <code>active</code> class.'
,
            
'php_code'=> "echo BootHelp::nav(function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        new LinkTo('Users'),
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        new 
LinkTo('Users', ['href'=>'/users']),
        new 
LinkTo('Profile', ['href'=>'/profile'])
    ];
}),
            
'html_code'=>'<ul class="nav nav-tabs">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Navs with disable links',
            
'description'=>'Use the <code>["disabled"=> true]</code> option to make tab disabled.',
            
'php_code'=> "echo BootHelp::nav(function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        new LinkTo('Users'),
        new LinkTo('Profile', ['disabled'=>true])
    ];
});"
,
            
'result'=> BootHelp::nav(function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        new 
LinkTo('Users'),
        new 
LinkTo('Profile', ['disabled'=>true])
    ];
}),
            
'html_code'=>'<ul class="nav nav-tabs">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li class="disabled"><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Navs with justified tabs',
            
'description'=>'Use the <code>["layout"=> "justified"]</code> option to make tabs occupy the entire width of their parent.',
            
'php_code'=> "echo BootHelp::nav(['layout'=>'justified'], function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        new LinkTo('Users'),
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(['layout'=>'justified'], function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        new 
LinkTo('Users'),
        new 
LinkTo('Profile')
    ];
}),
            
'html_code'=>'<ul class="nav nav-tabs nav-justified">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Navs with pills',
            
'description'=>'Use the <code>["as"=> "pills"]</code> option to make tabs look like pills.',
            
'php_code'=> "echo BootHelp::nav(['as'=>'pills'], function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        new LinkTo('Users'),
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(['as'=>'pills'], function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        new 
LinkTo('Users'),
        new 
LinkTo('Profile')
    ];
}),
            
'html_code'=>'<ul class="nav nav-pills">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Navs with stacked pills',
            
'description'=>'Use the <code>["layout"=> "stacked"]</code> option to make pills vertically stacked.',
            
'php_code'=> "echo BootHelp::nav(['as'=>'pills', 'layout'=>'stacked'], function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        new LinkTo('Users'),
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(['as'=>'pills''layout'=>'stacked'], function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        new 
LinkTo('Users'),
        new 
LinkTo('Profile')
    ];
}),
            
'html_code'=>'<ul class="nav nav-pills nav-stacked">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Navs with badge support',
            
'description'=>'Use <code>["badge"=>value]</code> with any of nav items option to display a badge.',
            
'php_code'=> "echo BootHelp::nav(['as'=>'pills'], function(){
    return [
        BootHelp::linkTo('Home', ['href'=>'/', 'badge'=>42]),
        BootHelp::linkTo('Profile'),
        BootHelp::linkTo('Messages', ['badge'=>3])
    ];
});"
,
            
'result'=> BootHelp::nav(['as'=>'pills'], function() use ($href) {
    return [
        
BootHelp::linkTo('Home', ['href'=>$href'badge'=>42]),
        
BootHelp::linkTo('Profile'),
        
BootHelp::linkTo('Messages', ['badge'=>3])
    ];
}),
            
'html_code'=>'<ul class="nav nav-pills nav-stacked">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],        
        [
            
'name'=> 'Navs with Dropdowns - Option 1',
            
'description'=>'Dropdowns into Navs has a different behaviour. Instead to build a Button to trigger the
    the dropdown menu, a Link (<code>"a" tag</code>) is generated. So, to get a Dropdown into a Nav just define the dropdown
    as any other Nav item.'
,
            
'php_code'=> "echo BootHelp::nav(function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        Boothelp::dropdown('Social networks', function(){
            return [
                BootHelp::linkTo('Twitter'),
                BootHelp::linkTo('Facebook'),
                BootHelp::divider(),
                BootHelp::linkTo('Other')
            ];
        }),
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        
Boothelp::dropdown('Social networks', function(){
            return [
                
BootHelp::linkTo('Twitter'),
                
BootHelp::linkTo('Facebook'),
                
BootHelp::divider(),
                
BootHelp::linkTo('Other')
            ];
        }),
        new 
LinkTo('Profile')
    ];
}),
            
'html_code'=>'<ul class="nav nav-tabs">
    <li class="active"><a href="/">Home</a></li>
    <li class="dropdown">
        <a data-toggle="dropdown" class="dropdown-toggle" href="#">
            Social networks
            <span class="caret"></span>
        </a>
        <ul aria-labelledby="label-dropdown-705851964" role="menu" class="dropdown-menu">
            <li><a href="#" role="menuitem">Twitter</a></li>
            <li><a href="#" role="menuitem">Facebook</a></li>
            <li class="divider"></li><li><a href="#" role="menuitem">Other</a></li>
        </ul>
    </li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Navs with Dropdowns - Option 2',
            
'description'=>'Maybe you want to build the <code>Dropdown</code> outside the <code>Nav</code> and then
    put it inside the Nav definition, to get the Nav code cleaner. In these cases, you have to use <code>["into_nav"=>true]</code>
    to indicates that the Dropdown is embedded the Nav.'
,
            
'php_code'=> "$sub_menu = Boothelp::dropdown('Social networks', ['into_nav'=>true], function(){
    return [
        BootHelp::linkTo('Twitter'),
        BootHelp::linkTo('Facebook'),
        BootHelp::divider(),
        BootHelp::linkTo('Others')
    ];
});
echo BootHelp::nav(function() use (
$sub_menu) {
    return [
        new LinkTo('Home', ['href'=>'/']),
        
$sub_menu
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        
Boothelp::dropdown('Social networks', function(){
            return [
                
BootHelp::linkTo('Twitter'),
                
BootHelp::linkTo('Facebook'),
                
BootHelp::divider(),
                
BootHelp::linkTo('Other')
            ];
        }),
        new 
LinkTo('Profile')
    ];
}),
            
'html_code'=>'<ul class="nav nav-tabs">
    <li class="active"><a href="/">Home</a></li>
    <li class="dropdown">
        <a data-toggle="dropdown" class="dropdown-toggle" href="#">
            Social networks
            <span class="caret"></span>
        </a>
        <ul aria-labelledby="label-dropdown-705851964" role="menu" class="dropdown-menu">
            <li><a href="#" role="menuitem">Twitter</a></li>
            <li><a href="#" role="menuitem">Facebook</a></li>
            <li class="divider"></li><li><a href="#" role="menuitem">Other</a></li>
        </ul>
    </li>
    <li><a href="#">Profile</a></li>
</ul>'
        
],
        [
            
'name'=> 'Complex navs',
            
'description'=>'To include HTML tags or a long text in the nav, pass your content in a block.
You can also specify custom options which will be added to the nav’s <code>ul</code> tag.'
,
            
'php_code'=> "echo BootHelp::nav(['as'=>'pills', 'id'=>'nav', 'class'=>'en', 'data-js'=>1], function(){
    return [
        new LinkTo('Home', ['href'=>'/']),
        new LinkTo('Users'),
        new LinkTo('Profile')
    ];
});"
,
            
'result'=> BootHelp::nav(['as'=>'pills''id'=>'nav''class'=>'en''data-js'=>1], function() use ($href) {
    return [
        new 
LinkTo('Home', ['href'=>$href]),
        new 
LinkTo('Users'),
        new 
LinkTo('Profile')
    ];
}),
            
'html_code'=>'<ul data-js="1" class="en nav nav-pills" id="nav">
    <li class="active"><a href="/">Home</a></li>
    <li><a href="#">Users</a></li>
    <li><a href="#">Profile</a></li>
</ul>'
        
]
    ]
];

/**
 * Nav samples.
 */
echo new Sample($navs);
Онлайн: 3
Реклама