TopperHarley

TopperHarley
Рейтинг
350
Регистрация
24.03.2009
Фома:
Это правило работает для всех страниц категории: /cat/index.html, /cat/index1.html, /cat/index2.html... /cat/indexN.html, а надо только /cat/index.html, т.е. которая в 1 клике от главной.

Макрос: http://pastebin.com/HdgUrD0K

Как применять: http://pbmacro.blogspot.ru/p/blog-page.html

kashim:
Есть еще один баг с отложенкой.
Макрос {RANDKEYWORD} {/RANDKEYWORD} может ссылаться на неопубликованные страницы, которые не будут открываться. Это хорошо заметно, когда на доре мало страниц и много случайных ссылок для перелинковки.

Потестил - не проявляется на любых моих настройках. Скинь профиль в почту + скрин или файлы на которых видно баг.

flydor:
Подскажите плиз по проксификации картинок. Когда я вставляю макрос {PROXYIMG-(img/)}<img src="[RANDLINE-(imgurls.txt)]"/>{/PROXYIMG}, то на сгенерированной странице, урл картинки получается domen.ru/img/ бла бла. В таком виде он не работает. Если убрать из него домен, то картинка отображается. Не могу понять как это исправить. Или может что не так настроил.

Сделайте тикет или добавьте подробностей - файлы по которым ошибку будет видно

Фома:
TopperHarley, как поставить ссылку с главной страницы категории? Если нет такого макроса(я не нашел), возможно ли добавить?

Ссылку на что? На категории http://wiki.toppersoft.ru/ru/categories, а из категории - внутри блока {CAT} любой макрос перелинковки

orka13:
chelov - поищи в вики как кодировку сменить c CP1251 на UTF-8

Верно, вот тут http://wiki.toppersoft.ru/ru/encoding

kashim:
Отложка, динамическая пагинация. Я думал ты в курсе

Был не в курсе, но баг вижу. Исправление войдет в следующий ап, временное решение:

Поправить в файле delayedlinks.php функцию showcomment:


function showcomment($n, $cn)
{
if($sqlite)
{
$row = getNline($n);
$dates = explode(',', $row['comments']);
return past($dates[$cn]);
}
$line = getNline($n);
$item = explode('|', $line);
$dates = explode(',', $item[2]);
return past($dates[$cn]);
}

Либо перекачать текущее обновление и взять там delayedlinks.php

Mail2k:
мда... хорошее у вас отношение к потенциальным клиентам. Суть вопроса была не о парсинге.

Прошу прощения если огорчил. Если суть вопроса в другом, то видимо в том можно ли затачивать страницу под ключ - релевантный текст, картинки, видео и прочее.

Да можно множеством способов: сопоставление контента по ключу, по папке, через мультикей, произвольный маппинг на любую структуру данных через юзермакросы.

Для парсинга есть отдельно связка к парсеру a-parser.



---------- Добавлено 14.06.2016 в 21:10 ----------

Mail2k:
Релевантный текст парсится и выдается на страницу по заданному ключу, что очень хорошо.

Перечитал вопрос - думаю вам все же нужен какой-нибудь парсящий дорген

Mail2k:
TopperHarley, отправил вам в личку вопрос. Почему не отвечаете?

Лень читать еще и личку

Вижу вопрос про парсинг и все такое. Пандора не парсит сайтов, сеодор вон купите у санчеза

kashim:
TopperHarley, можешь решить проблему с датами комментариев? Они выводятся все сразу, включая те, чья дата еще не наступила.

При отложке или без? Нужны подробности.

---------- Добавлено 14.06.2016 в 15:26 ----------

exarh:
TopperHarley вынеси в шапку или еще куда на видное место - на своем сайте Скриншотер.

Ок, и на самих скринах сделал ватермарку:

Прямая ссылка

Попробуй так:


<?php $phpdate = mktime([TIMEFORMAT-(HH, mm, ss, MM, dd, yyyy)]); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $phpdate) { header('HTTP/1.0 304 Not Modified'); exit; } header ("Last-Modified: ".gmdate ("D, d M Y H:i:s", $phpdate)."GMT"); ?>
tomat_ok:
Топ, посмотри плиз, тут есть еще второй заголовок If-Modified-Since, который говорит, что с последнего посещения робота страница не менялась и отдает код ответа сервера 304.

Хорошо, код меняем так(комменты //... можно удалить):


<?php
//получаем дату поста в переменную из макроса TIMEFORMAT
$phpdate = mktime([TIMEFORMAT-(HH, mm, ss, MM, dd, yyyy)]);
//если заголовок передан, и дата > даты поста, то отдаем 304 Not Modified и выходим
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $phpdate) { header('HTTP/1.0 304 Not Modified'); exit; }
//иначе показываем страницу и возвращаем заголовок Last-Modified
header ("Last-Modified: ".gmdate ("D, d M Y H:i:s", $phpdate)."GMT");
?>

У меня вебсерер не отдает эти заголовки пока их явно не отправишь.

Думаю зависит от настройки сервера или пыха

Чтобы принудильно отдават дату поста делаем так:

1. ставим php расширение

2. в шаблоне первой строчкой ставим

<?php header ("Last-Modified: ".gmdate ("D, d M Y H:i:s", mktime([TIMEFORMAT-(HH, mm, ss, MM, dd, yyyy)])) ."GMT");?>

TIMEFORMAT даст текущую дату поста в указанном формате, как раз чтобы mktime ее смог понять, а header выведет ее в заголовке Last-Modified.

Заголовок таким образом начинает передаваться.

Всего: 2916