2. почему если он не для пользователей он обернут в заголовочный тэг?
просто думал вы что то скажете новое)
этот класс был придуман для скринридеров. ПС об этом знают. h2 это обычный элемент разметки сайта, то есть верстка семантична. смысл удаления?
берете эту функцию, засовываете в template.php и вместо theme в названии пишите название вашей темы, например customtheme_pager. и не забудьте кэш сбросить
// Calculate various markers within this pager piece: // Middle is used to "center" pages around the current page. $pager_middle = ceil($quantity/2); // current is the page we are currently paged to $pager_current = $pager_page_array[$element] + 1; // first is the first page listed by this pager piece (re quantity) $pager_first = $pager_current - $pager_middle + 1; // last is the last page listed by this pager piece (re quantity) $pager_last = $pager_current + $quantity - $pager_middle; // max is the maximum page number $pager_max = $pager_total[$element]; // End of marker calculations.
// Prepare for generation loop. $i = $pager_first; if($pager_last>$pager_max){ // Adjust "center" if at end of query. $i = $i + ($pager_max - $pager_last); $pager_last = $pager_max; } if($i<= 0){ // Adjust "center" if at start of query. $pager_last = $pager_last + (1 - $i); $i = 1; } // End of generation loop preparation.
согласен, для пс это не очень хорошо display: none, но и не так уж важное, можно закрыть глаза, дык там в коде куча таких инвисиблов, в примари и секондари и тд
согласен, для пс это не очень хорошо display: none
корректнее упоминать вместе с классом инвизибл. если абстрактную ситуацию, то конечно пс может принять за клоакинг. но пс умеют читать и понимать классы. имхо, это задротство. и со стороны напоминает, когда хвост лошадью управляет, а именно когда элемент разметки становится главнее, чем сам сайт.
Хм. После переопределения theme_pager - пропали "Предыдущая" и "Следующая"... т.е. внутри стало пусто <liclass="pager-next"><ahref="xxx?page=1"></a></li>
Странно
Ешё раз:
Маразм с H2 invisible - изобретение каким то гуру drupal. Мотивируется аксесебилити. Что это далеко не так, мало кто знает, и мало кого волнует.
А что всё остальное не аксесебилити - всем пофигу.
Но это drupal, и все несложно решаемо.
Убирается маразм так:
1) в template.php
навигационная линейка было:
Столько комментариев от ГУРУ и никто так и не написал ответ на вопрос темы - что прописать в template.php, чтобы избавиться от <h2 class="element-invisible">Страницы</h2>
? Не уж то предлагаете весь код pager туда заносить? Можно лишь как-то от h2 избавиться?
Странно, ни разу не видел.
Возможно, если читать заветы Тёмы Лебедева, или послушать большого сертифицированного специалиста SEO - Витю RxB то оно так и есть :).
"Augustus" wrote:
Можно лишь как-то от h2 избавиться?
Вам же Витя сказал: перенести function theme_pager($variables) из /includes/pager.inc к себе, переименовав соответствующе. Ну не советовать же вам прямо в ядре править
Вроде как вопрос решен
но у меня после вставки в template
<?php
$output = '
' . implode(' › ', $breadcrumb) . '
';
?>
H2 invisible в крошках не пропадает.
Возможна причина в выводе крошек через node.tpl
<?php
print theme('breadcrumb', array('breadcrumb'=>drupal_get_breadcrumb()));
?>
drupal7
Комментарии
<h2 class="element-invisible">Страницы</h2>
а зачем?
затем что для seo это не есть хорошо:
1. нарушена структура вложенности заголовочных тэгов
2. скрытый элемент от пользователей
http://api.drupal.org/api/drupal/includes!pager.inc/function/theme_pager/7
спасибо, нашел что искал здесь includes/pager.inc
а вы в курсе для чего он используется?
1. а ПС что думают насчет этого?
2. он и не для пользователей
1.
2. почему если он не для пользователей он обернут в заголовочный тэг?
просто думал вы что то скажете новое)
этот класс был придуман для скринридеров. ПС об этом знают. h2 это обычный элемент разметки сайта, то есть верстка семантична. смысл удаления?
правильнее не хакать ядро, а переопределять вывод
q2_faith
как же его переопределять?
я же ссылку давал -там и написано как переопределить .
drupby
так я не знаю английский я просто нашел кусок нужного мне кода в файле pager.inc и заменил его
берете эту функцию, засовываете в template.php и вместо theme в названии пишите название вашей темы, например customtheme_pager. и не забудьте кэш сбросить
так найди в своей теме template.php
и туда вставь
$tags = $variables['tags'];
$element = $variables['element'];
$parameters = $variables['parameters'];
$quantity = $variables['quantity'];
global $pager_page_array, $pager_total;
// Calculate various markers within this pager piece:
// Middle is used to "center" pages around the current page.
$pager_middle = ceil($quantity / 2);
// current is the page we are currently paged to
$pager_current = $pager_page_array[$element] + 1;
// first is the first page listed by this pager piece (re quantity)
$pager_first = $pager_current - $pager_middle + 1;
// last is the last page listed by this pager piece (re quantity)
$pager_last = $pager_current + $quantity - $pager_middle;
// max is the maximum page number
$pager_max = $pager_total[$element];
// End of marker calculations.
// Prepare for generation loop.
$i = $pager_first;
if ($pager_last > $pager_max) {
// Adjust "center" if at end of query.
$i = $i + ($pager_max - $pager_last);
$pager_last = $pager_max;
}
if ($i <= 0) {
// Adjust "center" if at start of query.
$pager_last = $pager_last + (1 - $i);
$i = 1;
}
// End of generation loop preparation.
$li_first = theme('pager_first', array('text' => (isset($tags[0]) ? $tags[0] : t('« first')), 'element' => $element, 'parameters' => $parameters));
$li_previous = theme('pager_previous', array('text' => (isset($tags[1]) ? $tags[1] : t('‹ previous')), 'element' => $element, 'interval' => 1, 'parameters' => $parameters));
$li_next = theme('pager_next', array('text' => (isset($tags[3]) ? $tags[3] : t('next ›')), 'element' => $element, 'interval' => 1, 'parameters' => $parameters));
$li_last = theme('pager_last', array('text' => (isset($tags[4]) ? $tags[4] : t('last »')), 'element' => $element, 'parameters' => $parameters));
if ($pager_total[$element] > 1) {
if ($li_first) {
$items[] = array(
'class' => array('pager-first'),
'data' => $li_first,
);
}
if ($li_previous) {
$items[] = array(
'class' => array('pager-previous'),
'data' => $li_previous,
);
}
// When there is more than one page, create the pager list.
if ($i != $pager_max) {
if ($i > 1) {
$items[] = array(
'class' => array('pager-ellipsis'),
'data' => '…',
);
}
// Now generate the actual pager piece.
for (; $i <= $pager_last && $i <= $pager_max; $i++) {
if ($i < $pager_current) {
$items[] = array(
'class' => array('pager-item'),
'data' => theme('pager_previous', array('text' => $i, 'element' => $element, 'interval' => ($pager_current - $i), 'parameters' => $parameters)),
);
}
if ($i == $pager_current) {
$items[] = array(
'class' => array('pager-current'),
'data' => $i,
);
}
if ($i > $pager_current) {
$items[] = array(
'class' => array('pager-item'),
'data' => theme('pager_next', array('text' => $i, 'element' => $element, 'interval' => ($i - $pager_current), 'parameters' => $parameters)),
);
}
}
if ($i < $pager_max) {
$items[] = array(
'class' => array('pager-ellipsis'),
'data' => '…',
);
}
}
// End generation.
if ($li_next) {
$items[] = array(
'class' => array('pager-next'),
'data' => $li_next,
);
}
if ($li_last) {
$items[] = array(
'class' => array('pager-last'),
'data' => $li_last,
);
}
return '<h2 class="element-invisible">' . t('Pages') . '</h2>' . theme('item_list', array(
'items' => $items,
'attributes' => array('class' => array('pager')),
));
}
}
и там меняй то что надо
а название темы откуда берется?
из названия вашей темы
все сделал
сделала еще хлебные крошки и тоже появилось
<h2 class="element-invisible">Вы здесь</h2>
как избавиться?короче ничего не получилось. когда я в pager.inc заново поставил h2, то на странице снова появился это тэг (
тюфу тьфу вроде кэш был
также, ищите в апи
аналогично
http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_bread...
согласен, для пс это не очень хорошо display: none, но и не так уж важное, можно закрыть глаза, дык там в коде куча таких инвисиблов, в примари и секондари и тд
корректнее упоминать вместе с классом инвизибл. если абстрактную ситуацию, то конечно пс может принять за клоакинг. но пс умеют читать и понимать классы. имхо, это задротство. и со стороны напоминает, когда хвост лошадью управляет, а именно когда элемент разметки становится главнее, чем сам сайт.
к слову, это "you are here" влезло в сниппеты сайта в выдаче. резать однозначно.
Хм. После переопределения theme_pager - пропали "Предыдущая" и "Следующая"... т.е. внутри стало пусто
Странно
Хм. После переопределения theme_pager - пропали "Предыдущая" и "Следующая"... т.е. внутри стало пусто
<li class="pager-next"><a href="xxx?page=1"></a></li>
Странно
Ешё раз:
Маразм с H2 invisible - изобретение каким то гуру drupal. Мотивируется аксесебилити. Что это далеко не так, мало кто знает, и мало кого волнует.
А что всё остальное не аксесебилити - всем пофигу.
Но это drupal, и все несложно решаемо.
Убирается маразм так:
1) в template.php
навигационная линейка было:
<?php
$output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
$output .= '<div class="breadcrumb">' . implode(' › ', $breadcrumb) . '</div>';
?>
делаем:
<?php
$output = '<div class="breadcrumb">' . implode(' › ', $breadcrumb) . '</div>';
?>
2) Меню (если гарланд):
<?php
function garland_preprocess_page(&$vars) {
...
'heading' => array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => array('element-invisible'),
....
'heading' => array(
'text' => t('Secondary menu'),
'level' => 'h2',
'class' => array('element-invisible'),
?>
убираем куски
3)по желанию: /modules/system/html.tpl.php
копируем к себе в тему, чистим кэш
удаляем:
<?php
<div id="skip-link">
<a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
</div>
?>
кто ещё где встретит - пишите что и где встретилось.
ну Andy Postnikov сказал же , что по спецификации так положено
ПВася сеошник по образованию и знает больше твоего(с)
Столько комментариев от ГУРУ и никто так и не написал ответ на вопрос темы - что прописать в template.php, чтобы избавиться от
<h2 class="element-invisible">Страницы</h2>
? Не уж то предлагаете весь код pager туда заносить? Можно лишь как-то от h2 избавиться?
Да, это плохо?
Странно, ни разу не видел.
Возможно, если читать заветы Тёмы Лебедева, или послушать большого сертифицированного специалиста SEO - Витю RxB то оно так и есть :).
Вам же Витя сказал: перенести function theme_pager($variables) из /includes/pager.inc к себе, переименовав соответствующе. Ну не советовать же вам прямо в ядре править
Помню мне так и не ответил никто на то, как сильно понижает сайт в выдаче наличие этих элементов)
серьезные сеошники говорят , что это прямой путь под АГС -именно из-за этого они все друпал и не любят
Да уж всяко не виндузятника-1сника слушать
Вроде как вопрос решен
но у меня после вставки в template
<?php
$output = '
';
?>
H2 invisible в крошках не пропадает.
Возможна причина в выводе крошек через node.tpl
<?php
print theme('breadcrumb', array('breadcrumb'=>drupal_get_breadcrumb()));
?>
drupal7
Единственный рабочий вариант, который я нашёл: https://www.nomensa.com/blog/2015/mission-impossible-making-drupal-7-mor...
Более ПС фредли использовать с микроразметкой в path_breadcrumbs