簡體   English   中英

從Php函數檢索數據

[英]Retrieve Data From Php Function

如何從PHP函數獲取數據? 我想通過以下方式調用圖標:

<i class="<?php $this->Html->_($value['icon']);?>"></i>

不行。

如果有效的話就是這樣

<i class="fa fa-cloud"></i>

但是,如果調用另一個函數,例如:

<a href="#"><?php $this->Html->_($value['name']); ?></a>

做得好

主要的PHP功能:

/**
 * Retrieves the primary navigation for the client interface
 *
 * @param string $base_uri The base_uri for the currently logged in user
 * @return array An array of main navigation elements in key/value pairs
 *  where each key is the URI and each value is an array representing that element including:
 *     - name The name of the link
 *     - active True if the element is active
 *     - sub An array of subnav elements (optional) following the same indexes as above
 */
public function getPrimaryClient($base_uri)
{
    $nav = [
        $base_uri => [
            'name' => $this->_('Navigation.getprimaryclient.nav_dashboard'),
            'active' => false
        ],
        $base_uri . 'accounts/' => [
            'name' => $this->_('Navigation.getprimaryclient.nav_paymentaccounts'),
            'active' => false,
            'secondary' => [
                $base_uri . 'accounts/' => [
                    'name' => $this->_('Navigation.getprimaryclient.nav_paymentaccounts'),
                    'active' => false,
                    'icon' => 'fa fa-list'
                ],
                $base_uri . 'accounts/add/' => [
                    'name' => $this->_('Navigation.getprimaryclient.nav_paymentaccounts_add'),
                    'active' => false,
                    'icon' => 'fa fa-plus-square'
                ],
                $base_uri => [
                    'name' => $this->_('Navigation.getprimaryclient.nav_return'),
                    'active' => false,
                    'icon' => 'fa fa-arrow-left'
                ]
            ]
        ],
        $base_uri . 'contacts/' => [
            'name' => $this->_('Navigation.getprimaryclient.nav_contacts'),
            'active' => false,
            'secondary' => [
                $base_uri . 'contacts/' => [
                    'name' => $this->_('Navigation.getprimaryclient.nav_contacts'),
                    'active' => false,
                    'icon' => 'fa fa-list'
                ],
                $base_uri . 'contacts/add/' => [
                    'name' => $this->_('Navigation.getprimaryclient.nav_contacts_add'),
                    'active' => false,
                    'icon' => 'fa fa-plus-square'
                ],
                $base_uri => [
                    'name' => $this->_('Navigation.getprimaryclient.nav_return'),
                    'active' => false,
                    'icon' => 'fa fa-arrow-left'
                ]
            ]
        ]
    ];

    // Include the primary client's plugin navigation
    return $this->getPluginNavPrimaryClient($nav, $base_uri);
}

我想在這里調用圖標,因為我標記為//獲取圖標

                        <?php
                        $active_nav = null;
                        ?>
                        <ul class="nav navbar-nav">
                            <?php
                            foreach ($this->Html->ifSet($nav, array()) as $link => $value) {
                                $attributes = array();
                                $link_attributes = array();
                                $dropdown = !empty($value['sub']);
                                $active = false;

                                if ($value['active']) {
                                    $active = true;
                                    $attributes['class'][] = "active";
                                    $active_nav = $value;
                                }
                                if ($dropdown) {
                                    $attributes['class'][] = "dropdown";
                                    $link_attributes['class'][] = "dropdown-toggle";
                                    $link_attributes['data-toggle'][] = "dropdown";

                                    // Set parent to active if child is
                                    if (!$active) {
                                        foreach ($this->Html->ifSet($value['sub'], array()) as $sub_link => $sub_value) {
                                            if ($sub_value['active']) {
                                                $attributes['class'][] = "active";
                                                break;
                                            }
                                        }
                                    }
                                }
                            ?>
                            <li<?php echo $this->Html->buildAttributes($attributes);?>>
                                <a href="<?php $this->Html->_($link);?>"<?php echo $this->Html->buildAttributes($link_attributes);?>>

            // Get Icon
                <i class="<?php $this->Html->_($value['icon']);?>"></i>
            // Get Icon 
                                    <?php
                                    $this->Html->_($value['name']);

                                    if ($dropdown) {
                                    ?>
                                    <b class="caret"></b>
                                    <?php
                                    }
                                    ?>
                                </a>
                                <?php
                                if (!empty($value['sub'])) {
                                ?>
                                <ul class="dropdown-menu">
                                    <?php
                                    foreach ($this->Html->ifSet($value['sub'], array()) as $sub_link => $sub_value) {
                                    ?>
                                    <li>
                                        <a href="<?php $this->Html->_($sub_link);?>"><i class="<?php $this->Html->_($sub_value['icon']);?>"></i> <?php $this->Html->_($sub_value['name']);?></a>
                                    </li>
                                    <?php
                                    }
                                    ?>
                                </ul>
                                <?php
                                }
                                ?>
                            </li>
                            <?php
                            }
                            ?>
                        </ul>

有人對此有任何想法嗎?

我真的很感謝所有幫助。

好吧,這是可行的b

<i class="<?php $this->Html->_($value['name']);?>"></i>

因為有name屬性是第一個基本URI

$base_uri => [
        'name' => $this->_('Navigation.getprimaryclient.nav_dashboard'),
        'active' => false
    ],

如果您還添加圖標,它將起作用

$base_uri => [
        'name' => $this->_('Navigation.getprimaryclient.nav_dashboard'),
        'active' => false,
        'icon' => 'fa fa-cloud' 
    ],

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM