Вы не зашли.
legenda, я так понимаю vl просто разместит пять ссылок на главной странице на разные страницы карты и тем самым сохранит видимость двух кликов.
Мне это требование, честно сказать, вообще непонятно. Это полная профанация Ни один живой человек не будет искать что-то в списке из 10к ссылок.
nightly, эти строки есть?
<script type="text/javascript">
hljs.initHighlightingOnLoad();
</script>
Бывает Но сейчас обратный порядок сделать нельзя
По моему проблему решает обратный порядок вывода страниц. То есть первая страница это не новые новости, а старые, заполнилась первая, переходим ко второй. Тогда они фактически фиксированные будут. Я такой способ предлагал сделать и для самих новостей на главной, кому-то не нравилось такое же уползание.
То ли я вопрос не правильно задаю...
Как Sape узнает о наличии такой карты сайта? Где-то указываешь на неё ссылку? Можно указать пять разных карт? Если карты не будет, то ссылки нельзя продать?
Ты на вопрос не ответил, код ты размещаешь в новости, как система определяет что до этой страницы два клика, по уровню вложенности в URL? Зачем карта сайта тогда?
Но! Тогда по мере наполнении сайта новыми материалами тайтлы внутренних страниц будут перемещаться на следующие страницы карты сайта: со второй на третью и т.д. А следовательно - менять свой адрес (путь) в качестве страницы третьего уровня. Что не есть хорошо в случае продажи ссылок, как мне думается
Не совсем понял, тебе нужно любая новость была доступна в два клика. Ссылку ты продаешь на конкретной странице. Как Sape отслеживает, что действительно два клика происходит? Системе нужно скормить карту сайта и это автоматически подтверждает, что все ОК или это нужно для тех, кто хочет купить ссылки и хочет убедиться, что карта действительно есть?
А, если ты их отключил вообще, тогда ОК. Я так, на всякий случай сказал, потому что не только движок пользуется выводом новостей и где-то 404 может быть совсем не обязательным, если жестко исправить, как в предыдущем сообщении.
Лучше переделать.
В этой функции
global $SYSTEM_FLAGS, $TemplateCache;
заменить на
global $SYSTEM_FLAGS, $TemplateCache, $CurrentHandler;
Вместо кода из предыдущего сообщения поставить
// Print "no news" if we didn't find any news [ DON'T PRINT IN EXTENDED MODE ]
if (!$nCount) {
if (!isset($callingParams['extendedReturn']) || !$callingParams['extendedReturn']) {
if (in_array($CurrentHandler['handlerName'], array('by.year', 'by.month', 'by.day'))) error404();
else
msg(array("type" => "info", "info" => $lang['msgi_no_news']));
}
$limit_start = 2;
}
Этим мы поправим только эти страницы и не будем выводить 404 ошибку на странице категории, в которой нет новостей, так как страница все же есть и 404 отдавать на нее не надо.
По моему это все для продажи ссылок, когда надо обеспечить два клика с главной страницы, на главной делаешь ссылку на sitemap - один клик, с него переход на любую новость - второй клик.
А наличие постраничной навигации увеличивает минимум на один клик доступ у некоторым страницам, как я понимаю.
Просто проверь наличие mail() на сервере http://ngcms.ru/forum/viewtopic.php?id=1663
/2011-11.html это ссылки не от календаря и нет от архива. Это заложено в сам движок.
Если тебе нужно принципиально отключить такие страницы, то идешь в управление форматом ссылок, находишь строчки news by.day, news by.month, news by.year и либо делаешь эти строчки неактивными, выставив галочку OFF при редактировании, либо просто их удаляешь.
Если необходимо оставить страницы рабочими, но выдавать 404 ошибку на несуществующие, то идешь в \engine\includes\news.php
Находишь код
// Print "no news" if we didn't find any news [ DON'T PRINT IN EXTENDED MODE ]
if (!$nCount) {
if (!isset($callingParams['extendedReturn']) || !$callingParams['extendedReturn']) {
msg(array("type" => "info", "info" => $lang['msgi_no_news']));
}
$limit_start = 2;
}
заменяшь на
// Print "no news" if we didn't find any news [ DON'T PRINT IN EXTENDED MODE ]
if (!$nCount) {
if (!isset($callingParams['extendedReturn']) || !$callingParams['extendedReturn']) {
# msg(array("type" => "info", "info" => $lang['msgi_no_news']));
error404();
}
$limit_start = 2;
}
теперь сервер будет отдавать 404 ошибку и выводить свою страницу
Только в этом нет необходимости, сейчас уже везде (при использовании TWIG) доступна переменная user, которая является копией $userROW
Все ответы здесь.
Twig for Template Designers
Twig for Developers
Готовый пример здесь см. работу с переменной $twig
Это есть ты хочешь понять действительно что он может. Документация от разработчика
Может JS не подключен. Сложно сказать, гадать я не люблю, если дашь конкретную страницу я посмотрю.
Ок, спасибо
Пример страницы покажи, так сложно сказать, что именно из инструкции ты упустил.
Где поставил? В админке или на сайте?
vitaly, ага, понял. Я уже обновился. Ответь еще про необходимость создания индексов http://ngcms.ru/forum/viewtopic.php?pid=27031#p27031
Итого у меня какие варианты. Отбор верхних записей.
1. Сортировка только по postdate. Для него есть индекс по умолчанию в движке.
2. Сортировка только по views. Для него есть индекс по умолчанию в движке.
3. Сортировка только по com. Для него индекса нет. Кто его должен создать? Я при установке top_news или сам плагин comments? Сейчас идет полный перебор.
4. Произвольный отбор ORDER BY RAND(). Тут ничего не поделаешь. Надо заменять его http://hudson.su/2010/09/16/mysql-optim … r-by-rand/
5. Отбор за последние N дней по postdate. Для него есть индекс по умолчанию в движке.
6. Отбор за последние N дней по views. Для него есть индекс по умолчанию в движке. Используется только postdate. Имеет ли смысл создавать индекс по двум полям postdate, views?
7. Отбор за последние N дней по com. Для него есть индекс по умолчанию в движке. Используется только postdate. Имеет ли смысл создавать индекс по двум полям postdate, com?
vitaly, а в SVN патч есть? Не вижу изменений за вчерашнее число.
http://ngcms.ru/files/ng_093_Release_cs880-fix01_diff.rar
vitaly, а использоваться может только один индекс? Поможет ли создание для такого случая индекса по двум полям postdate, views? Мне по хорошему, чтобы покрыть все варианты нужно еще добавить индекс по postdate, com. Для самых комментируемых и просматриваемых за N дней.
vitaly, explain смотрел. Но он не совсем полный, то есть не говорит в какой последовательности и что делает.
Для REGXP используется ключ news_postdate.
При таком запросе
EXPLAIN SELECT id, alt_name, postdate, title, views, com, catid, rating, votes
FROM 2z_news
WHERE approve =1
AND postdate >=1325924040
AND (
(
catid
REGEXP '[[:<:]](2)[[:>:]]'
)
OR (
catid
REGEXP '[[:<:]](8)[[:>:]]'
)
)
ORDER BY views DESC
LIMIT 0 , 10
тоже news_postdate. По views индекс не используется почему-то.
Если через news_map, то сначала индекс по categoryID, затем в таблице news индекс по PRIMARY, id новости. Индекс по postdate уже не используется. Но самое стремное, что появляется Using temporary; при добавлении ORDER BY, отсюда видимо и лаги.
В общем оставляю вариант с REGXP.
Спасибо.
vitaly
у меня всегда будет 0, N, где N - обычно не больше 10-20 для отсортированной по просмотрам, комментариям или дате таблице.
ОК, по первому пункту можно заменить regxp на join. Если решится пункт 2.
Я вот не пойму откуда такая задержка при попытке сортировки. Можно как-то посмотреть этапы выполнения запроса и длительность каждого этапа? Типа сначала ищем в news_map за 0.1, потом делаем join, потом сортировку, чтобы понять где проблема появляется.