Посетите форум

XSLT paging, или XSLT пейджинг - по русски

Долго искал в рунете подходящее, в итоге написал сам. Статья о том, как с помощью xslt сделать пейджинг. Подразумевается что каждая статья имеет свой уникальный ID, и идут они по порядку.

Объявим переменные:
<xsl:value-of select="$base_address" />
<!– Первая страница –>
<xsl:param name="page" select="1″/>
<!– Сколько статей на странице –>
<xsl:param name="limitperpage" select="7″/>
<!– Всего статей. Не всегда получается узнать, но если известно - хорошо. Служит, чтобы на последней (при листинге) странице не было ссылки "дальше" –>
<xsl:param name="limitrss" select="51″/>

Далее внутри шаблона самого:

<xsl:choose>
<!– Проверяем, не первая ли это страница, если нет, то выводим ссылку назад –>
<xsl:when test="$page &gt; $limitperpage">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$base_address" />/page_<xsl:value-of select="$page - $limitperpage"/>
</xsl:attribute>
Назад
</xsl:element>
</xsl:when>
</xsl:choose>

<!– Следующая страница –>
<xsl:choose>
<!– Проверяем, не последняя ли это страница, если нет, выводим next –>

<xsl:when test="$page &lt; $limitrss">
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$base_address" />/page_<xsl:value-of select="$page+$limitperpage"/>
</xsl:attribute>
Следующая
</xsl:element>
</xsl:when>
</xsl:choose>

Ну и если неизвестно сколько всего записей, то тогда просто:
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$base_address" />/page_<xsl:value-of select="$page+$limitperpage"/>
</xsl:attribute>
Следующая
</xsl:element>

No Comments | Filed under Новичкам

Wordpress и Sape, проблеммы индексации

Не хотели мои сайты на wordpress индексироваться sape‘овским роботом, не хотел и все тут.
Причем некоторые из них, например этот блог - индексировался на ура, а сделанные по шаблонной системе и одной и той же сборки - нет.
И вот сегодня - ура, ура, кричат фанфары - разобрался.
Итак, по пунктам, какие могут возникнуть проблемы:
1) Это конечно же UTF8, о чем я подумал первым делом. Исправляется заменой:
$sape = new SAPE_client();
на
$o[’charset’] = ‘UTF-8?;
$sape = new SAPE_client($o);
unset($o);

2) Использование mod_rewrite, красивых ссылок т.е.
Лечится изменением строчки
$sape = new SAPE_client();
на строчку
$o['request_uri'] = $_SERVER['REDIRECT_URL'];
$sape = new SAPE_client($o);
unset($o);

После всех махинаций получаем следующий код:

define(’_SAPE_USER’, ‘1234qwertyuiop567890asdf’);
require_once($_SERVER['DOCUMENT_ROOT'].’/’._SAPE_USER.’/sape.php’);
$o['request_uri'] = $_SERVER['REDIRECT_URL'];
$o[’charset’] = ‘UTF-8?;
$sape = new SAPE_client($o);
unset($o);
echo $sape->return_links();

Где 1234qwertyuiop567890asdf - номер вашей папки в sape.
О том, какие плагины лучше использовать - напишу позже.

Увы, эти махинации мне не помогли, и я вообще не знал что делать.
Решил посмотреть логи апача - робот достукивается до страниц нормально.
Решил внимательнее рассмотреть страницы, и увидел следующий мета тег, оставленный заботливым
All-in-one-seo-pack
<meta name="robots" content="noindex,follow" />

В обще после долгих матюков и радости что я наконец нашел причину - отключил этот плагин (ибо особо его и не использовал) и наслаждался как саповский робот добавляет >1000 страниц

7 Comments | Filed under Fix, Новичкам

Таблица спецсимволов HTML

Внутри поста
Read the rest of this entry »

1 Comment | Filed under Новичкам

Кавычки в WordPress

Решил воспользоваться одним из фиксов, которые выкладывал ранее – и с удивлением обнаружил, что коварный wordpress заменяет обычные кавычки на спецсимволы &#8220 и &#8221, в следствии чего java-скрипт выдает ошибку.
Лечится это довольно просто – открываем файл /wp-includes/formatting.php, ищем в нем переменную $dynamic_replacements.
В этой переменной (Если быть точнее – в массиве) находим те самые &#8220 и &#8221 (’$1&#8220;$2′ ‘&#8221;$1′) и заменяем на ‘$1″$2′, ‘"$1′.
Теперь все что писалось ранее имеет смысл и прекрасно работает.

No Comments | Filed under Fix

Прозрачный PNG в ie6 (Вариант 2)

PNG-24 - отличный формат для веб, может передавать полупрозрачность. Но в internet explorer 6 прозрачности нет.

На помощь приходит следующий код:
<i class="png"><img src="kartinka.png"></i>
Как можно понять тут выводится сама png картинка, обернутая в тег <i>. Сам этот тег <i> можно заменить на что угодно, важно чтобы у него был прописан class="png".

Далее в css вставляем это:
/*png in ie6 fix*/
* html .png
{
width: expression(this.firstChild.width);
filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’"+
this.firstChild.src+"‘, sizingMethod=’image’)");

background: expression("transparent url("+
this.firstChild.src.replace(".png", ".gif")+") no-repeat");
background: none !important;
}

* html .png img
{
behavior: expression(this.style.visibility="hidden");
}
/*png in ie6 fix*/

Все, наслаждаемся прозрачностью и полупрозрачностью!

8 Comments | Filed under Fix


www.seozavr.ru - автоматическое размещение статей с прямыми ссылками