2015-11-05 89 views
0

我將MediaWiki與Joomla結合使用。由於我想將圖標添加到某些鏈接,因此我需要將兩者都連接起來。我知道這可以通過將img標籤放入標籤中。將鏈接連接到圖像

但是問題在於一些鏈接是由一個名爲makeListItem的函數生成的,MediaWiki使用的函數不僅僅是這些鏈接。現在我的問題是,我可以以某種方式將img連接到a,而不必將其放入標籤中?

這將調用函數來創建的元素:

<?php $this->renderNavigation('PERSONAL'); ?> 

實際功能(縮短):

foreach ($personalTools as $key => $item) { 
    ?> 
    <div class="searchbox" style="clear:both;"> 
    <img src="<?php echo $icon[$key] ?>" alt="p-Icons" class="iconnav"/> 
    <?php 
    echo $this->makeListItem($key, $item); 
    ?> 
    </div> 
<?php 
} 
?> 

圖像的src爲被聲明正上方的一個數組中定義的foreach。

預先感謝

回答

2

您必須修改makeListItem()函數(BaseTemplate類)。

function makeListItem($key, $item, $options = array()) { 
    if (isset($item['links'])) { 
     $links = array(); 
     foreach ($item['links'] as $linkKey => $link) { 
      $links[] = $this->makeLink($linkKey, $link, $options); 
     } 
     $html = implode(' ', $links); 
    } else { 
     $link = $item; 
     // These keys are used by makeListItem and shouldn't be passed on to the link 
     foreach (array('id', 'class', 'active', 'tag', 'itemtitle') as $k) { 
      unset($link[$k]); 
     } 
     if (isset($item['id']) && !isset($item['single-id'])) { 
      // The id goes on the <li> not on the <a> for single links 
      // but makeSidebarLink still needs to know what id to use when 
      // generating tooltips and accesskeys. 
      $link['single-id'] = $item['id']; 
     } 
     $html = $this->makeLink($key, $link, $options); 
    } 
    $attrs = array(); 
    foreach (array('id', 'class') as $attr) { 
     if (isset($item[$attr])) { 
      $attrs[$attr] = $item[$attr]; 
     } 
    } 
    if (isset($item['active']) && $item['active']) { 
     if (!isset($attrs['class'])) { 
      $attrs['class'] = ''; 
     } 
     $attrs['class'] .= ' active'; 
     $attrs['class'] = trim($attrs['class']); 
    } 
    if (isset($item['itemtitle'])) { 
     $attrs['title'] = $item['itemtitle']; 
    } 
    return Html::rawElement(isset($options['tag']) ? $options['tag'] : 'li', $attrs, $html); 
} 
+0

不錯,謝謝。你能告訴我在哪裏定義了makeListItem函數嗎? – Pfonks

+0

該函數在BaseTemplate類文件中定義。 – Nvan