我正在尝试在这些数组项之间添加逗号,但是如果我使用implode则只返回Array,Array。
function boron_taxonomy_links($node, $vid, $type, $cat) {
if (count($node->taxonomy)){
$tags = array();
foreach ($node->taxonomy as $term) {
if ($term->vid == $vid){
$tags[] = array('title' => $term->name . ',', 'href' => $type . '/' . $cat . '/' . $term->tid, 'attributes' => array('rel' => 'tag'));
}
}
if ($tags){
return theme_links($tags, array('class'=>'links inline'));
}
}
}
答案 0 :(得分:0)
当你在$tags
上调用implode时,它会在数组中对象的字符串表示之间放置一个逗号。在您的情况下,这些对象是PHP不知道如何变成字符串的数组,因此它使用字符串'Array'
。
您需要确保$tags
填充了您希望的格式化字符串。由于你没有提到你想要它出现的方式,我在下面只是一个例子。
function TermToString($type, $cat, $term) {
$title = $term->name . ',';
$href = $type . '/' . $cat . '/' . $term->tid;
$attribures = array('rel' => 'tag');
// combine into some string and return
return "<a href=\"$href\" title=\"$title\" ref=\"{$attribures['rel']}\">$title</a>";
}
function boron_taxonomy_links($node, $vid, $type, $cat) {
if (count($node->taxonomy)) {
$tags = array();
foreach ($node->taxonomy as $term) {
if ($term->vid == $vid) {
$tags[] = TermToString($type, $cat, $term);
}
}
if ($tags) {
return theme_links($tags, array('class' => 'links inline'));
}
}
}