Пишу сюда, но тема комплексная
Прислано: Rossini
пт, 19/09/2008 - 11:41
Задача: чтобы сделать четыре скругленных угла у пункта меню, надо добавить еще два пустых тега ins или span.
Условно говоря, мы имеем следующий html-код для меню:
<ul id="primary"> <li class="menu-1-2-2"> <a href="/node/1>item one</a> </li> </ul>
Чтобы добавить круглые углы надо сделать так:
<ul id="primary"> <li class="menu-1-2-2"> <ins> <ins> <a href="/node/1>item one</a> </ins> </ins> </li> </ul>
Так, как же добавить два этих пустых тэга ins в page.php.tpl, если там видим только следующее:
Как добавить туда тэги ins ?
- Rossini's blog
- Для комментирования войдите или зарегистрируйтесь
зайдите к теме лебедеву, в техногрете последняя статья по вашей теме
- Для комментирования войдите или зарегистрируйтесь
Я не разбираюсь в php. Я знаю про эту статью. Я не знаю как поправить php этот код:
- Для комментирования войдите или зарегистрируйтесь
Строчка
Означает, что Друпал последовательно попытается вызвать одну из функций:
- ИМЯ_ТЕМЫ_links();
- phptemplate_links();
- theme_links();
Если первой функции нет, то ищется вторая, если второй нет, то берется третья.
Первая или вторая ищутся в template.php темы, третья — функция ядра. Возьми функцию theme_links скопируй ее в свой template.php либо под именем ИМЯ_ТЕМЫ_links, либо под именем phptemplate_links и добавляй в нее нужный хтмл-код.
- Для комментирования войдите или зарегистрируйтесь
Так, ну а если я в файле page.tpl.php меняю
на такой код, как:
<? php if (count($primary_links)) : ?> <ul id="primary"> <?php foreach ($primary_links as $link) : ?> <li><?php print $link?></li> <?php endforeach; ?> </ul> <?php endif; ?>
Прямолинейно, правда, но зато понятно, куда пустые вспомогательные теги вставлять.
Как, проканает?
- Для комментирования войдите или зарегистрируйтесь
Можно , но не "кашерно", вы многих моментов можете этим кодом упустить :)
а что не уж то трудно как Ромка посоветовал ? функция то не очень сложная, помещаете в template.php вашей темы функцию
<?php
/**
* Return a themed set of links.
*
* @param $links
* A keyed array of links to be themed.
* @param $attributes
* A keyed array of attributes
* @return
* A string containing an unordered list of links.
*/
function phptemplate_links($links, $attributes = array('class' => 'links')) {
$output = '';
if (count($links) > 0) {
$output = '<ul'. drupal_attributes($attributes) .'>';
$num_links = count($links);
$i = 1;
foreach ($links as $key => $link) {
$class = $key;
// Automatically add a class to each link and also to each LI
if (isset($link['attributes']) && isset($link['attributes']['class'])) {
$link['attributes']['class'] .= ' ' . $key;
}
else {
$link['attributes']['class'] = $key;
}
// Add first and last classes to the list of links to help out themers.
$extra_class = '';
if ($i == 1) {
$extra_class .= 'first ';
}
if ($i == $num_links) {
$extra_class .= 'last ';
}
$output .= '<li '. drupal_attributes(array('class' => $extra_class . $class)) .'>';
// Is the title HTML?
$html = isset($link['html']) && $link['html'];
// Initialize fragment and query variables.
$link['query'] = isset($link['query']) ? $link['query'] : NULL;
$link['fragment'] = isset($link['fragment']) ? $link['fragment'] : NULL;
if (isset($link['href'])) {
$output .= l($link['title'], $link['href'], $link['attributes'], $link['query'], $link['fragment'], FALSE, $html);
}
else if ($link['title']) {
//Some links are actually not links, but we wrap these in <span> for adding title and class attributes
if (!$html) {
$link['title'] = check_plain($link['title']);
}
$output .= '<span'. drupal_attributes($link['attributes']) .'>'. $link['title'] .'</span>';
}
$i++;
$output .= "</li>\n";
}
$output .= '</ul>';
}
return $output;
}
?>правите как вам надо, сбрасывете кэш и ву а ля
- Для комментирования войдите или зарегистрируйтесь
2 olk: Подскажите, пожалуйста, А где/как в этом коде можно найти построение ссылки "Читать далее", и затем изменить текстовое отображение ссылки на графику?
- Для комментирования войдите или зарегистрируйтесь
А как вызвать его page.tpl.php
- Для комментирования войдите или зарегистрируйтесь
Помогло то что написал Ромка 19/09/2008 - 14:46
Перед этим перешерстил кучу тем.
Нужно прочитать внимательно.
Там и вызов и переопределение.
Для 6-ки работает.
- Для комментирования войдите или зарегистрируйтесь





Комментарии