Долго искал в рунете подходящее, в итоге написал сам. Статья о том, как с помощью 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 > $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 < $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>
Posted: Июль 30th, 2008 by admin
| Filed under Новичкам
Не хотели мои сайты на 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 страниц
Posted: Июль 23rd, 2008 by admin
| Filed under Fix, Новичкам
Posted: Июль 22nd, 2008 by admin
| Filed under Новичкам
Решил воспользоваться одним из фиксов, которые выкладывал ранее – и с удивлением обнаружил, что коварный wordpress заменяет обычные кавычки на спецсимволы “ и ”, в следствии чего java-скрипт выдает ошибку.
Лечится это довольно просто – открываем файл /wp-includes/formatting.php, ищем в нем переменную $dynamic_replacements.
В этой переменной (Если быть точнее – в массиве) находим те самые “ и ” (‘$1“$2′ ‘”$1′) и заменяем на ‘$1″$2′, ‘"$1′.
Теперь все что писалось ранее имеет смысл и прекрасно работает.
Posted: Июль 18th, 2008 by admin
| Filed under Fix
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*/
Все, наслаждаемся прозрачностью и полупрозрачностью!
Posted: Июль 2nd, 2008 by admin
| Filed under Fix