2012-06-10 3 views
1

Я пытаюсь добавить некоторый код html перед каждым тегом, напечатанным как элемент массива.  
Мой код:Как добавить html в массив в php?

$term_links = array(); 

    foreach ($vars['node']->taxonomy as $term) 
    { 
    $term_links[] = l($term->name, 'taxonomy/term/' . $term->tid, 
     array(
     'attributes' => array(
      'title' => $term->description 
    ))); 
    } 

    $vars['node_terms'] = implode(', ', $term_links); 

На данный момент теги печатаются отделено запятой. Я хотел бы добавить небольшое изображение перед каждым элементом тега, используя img src="tag.png"Как это сделать?

EDIT - мой текущий код, все еще не работает.

if (module_exists('taxonomy')) { 

$img = 'some html'; 
$text = $img . $term->name; 
$path = 'taxonomy/term/' . $term->tid; 


$term_links = array(); 
foreach ($vars['node']->taxonomy as $term) { 



    $term_links[] = l($text, $path, array(
    'html' => TRUE, 
     'attributes' => array(
     'title' => $term->description 
    ))); 
} 
    $vars['node_terms'] = implode(', ', $term_links); 
} 
} 
+1

Переместить эти строки: $ IMG = 'некоторые HTML'; $ text = $ img. $ Перспективы,> имя; $ path = 'таксономия/термин /'. $ term-> tid внутри foreach() loop ... – ioseb

ответ

2

функция Dupal в л() имеет опцию "HTML" вы можете установить его в TRUE, и использовать IMG + TITLE в качестве заголовка.

Вот пример:

$img = '<img src="..." />'; 
$text = $img . $term->name; 
$path = 'taxonomy/term/' . $term->tid; 

$term_links[] = l($text, $path, array(
    'html'  => TRUE, 
    'attributes' => array(
    'title' => $term->description 
) 
)); 
+0

Как именно я это делаю? Извините, что я относительно новичок в Drupal .. – Vonder

+0

@ Vafello см. Измененный ответ – ioseb

+0

Спасибо, я изменил код на ваш, но теперь он только печатает изображения, но без тегов ... – Vonder

Смежные вопросы