Лента блогов InstantCMS

Как я сделал себе генератор sitemap.xml

Давно и в общем-то безуспешно занимаюсь проблемой создания карты сайта (sitemap.xml) для своего сайта.
Пока материала было мало вполне устраивала работа генератора sitemap, который нашел благодаря lezginka.ru phpSitemapNG154.
Но даже тогда приходилось долго ждать пока паук просканирует сайт.
Однако со временем это превратилось в неприлично длительное занятие и я вообще бросил этим заниматься.
И вот на днях в мою голову приходит удачная мысль, каким образом обойти хитро-мудрый алгоритм формирования ссылок заложенный создателями движка.
Сказано-сделано. Поскольку меня более всего интересует индексация статей (основной контент сайта), то и занялся именно этой частью движка.
Задачу разделил на две составляющие:
-модифицированный модуль "Последние материалы" заполняет таблицу в БД;
-плагин генерирует карту сайта по мере надобности.
Подшаманил существующий модуль последние материалы для того чтобы он заполнял табличку новыми адресочками.
Наплодил модулей для нужных разделов статей и сделал им доступ (отображение) для админов. После добавления статьи/статей открываю главную страницу сайта и готово, новые страницы лежат в карте сайта. Замедления открытия страницы практически не заметны.
Единственно, замедление было когда указал большое количество материалов для вывода последних статей (чтобы в катру попали все материалы и старые тоже). И все равно не настолько большое как при создании карты методом сканирования сайта. Порядка 30 сек.
Да вот еще пробовал как-то онлайновым сервисом воспользоваться, так он при сканировании 1000 страниц (огранничение ресурса для бесплатной генерации карты) прокачал более 200 МБ.
Так по мере заполнения сайта наполняется и карта сайта.
Плагинчик, конечно, создал с "нуля".
Пока все, в дальнейшем планирую развить возможности. Сделать настройки важности по-умолчанию для уровней, сделать возможность просмотра и редактирования таблицы предназначенной для генерации карты сайта (установить например, индивидуальный параметр по обновляемости или важности документа, опять же удаления из карты сайта). Сделать html-версию карты сайта. Может еще чего-нибудь в голову придет.
Однако, надеясь, что разработчики движка присмотрятся к моему пожеланию и в дальнейшем все будет гораздо проще.

Модуль - Случайное из каталога

Модуль "Случайное из каталога" выводит случайным образом данные из Универсального Каталога.


Настраивается привязка к меню, количество случайных, вывод количества полей для режимов Галереи и Списка, просмотры или рейтинги.

Переделан из "Популярное в каталоге" v1.5.2

Установка:
1)Разархивировать архив в корень
2)Выполнить в phpMyAdmin для вашей базы sql запрос из файла module.sql
3)Сделать привязку к меню в админке и настроить вывод
4) Проверьте стили вашего дизайна
templatest/ваш дизайн/css/styles.css
Модуль пользуется (uc_latest_item, uc_latest_item2, uc_latest_link)
Если их нет, вставьте:
(Подробности внутри архива)

Архив:
/users/files/download255.html

Добавлено в InstantWiki
http://instantcms.ru/wiki/doku.php/дополнения:модули

Модуль - Случайные статьи (контент)

Модуль "Случайные статьи" выводит статьи случайным образом.

В нём настраивается привязка к меню, количество статей, вывод анонсов и рейтинга.

Переделан из "Популярные статьи" v1.0.7 пользователем easy в 2008-м
Немного поправил для v1.5.2

Установка:
1)Разархивировать архив в корень
2)Выполнить в phpMyAdmin для вашей базы sql запрос из файла module.sql
3)Сделать привязку к меню в админке и настроить вывод

Архив:
/users/files/download254.html

Добавлено в InstantWiki
http://instantcms.ru/wiki/doku.php/дополнения:модули

Модуль Курс Валют версия 2

Выкладываю немного модифицированный модуль Валюты. Теперь выводит курс доллара/евро, и переделана конвертация валют, теперь из любой в любую. Надеюсь придётся полезной фишкой.

Скриншот:
Установка:
1. Заливаем папку modules в корень сайта.
2. Выполняем запрос:
Код PHP:
INSERT INTO `cms_modules` ( `id` , `position` , `name` , `title` , `is_external` , `content` ,
                            `ordering` , `showtitle` , `published` , `user` , `config` , `original` , 
                            `css_prefix` , `allow_group` , `cache` , `cachetime` , `cacheint` )
VALUES ('', 'right', 'Курс валют', 'Курс валют', '1', 'mod_valute2', '1', '1', '1', '0', '---', 
        '1', '', '-1', '', '23', 'HOUR');
3. Идём в административную панель -> Модули -> Показать все, находим Курс валют, нажимаем редактировать.
Находим пункт Привязка к меню: и отмечаем Все пункты
P.S. Если есть желание включаем кеширование, время так и оставляем 23 часа
Установка окончена.

Скачать:
перейти

Модуль показа случайного пользователя

Предлагаю еще один модуль для версии 1.5.2 (на 1.5.1 тоже должен работать).

На версии 1.5.3 работать не будет. Возможно, подстрогаю напильником позже, когда релиз 1.5.3 выйдет)))

Модуль выводит профиль случайного юзрера из числа зарегистрированых и незабаненых.

Регулировки:
1. можно вывести любое число юзеров (по умолчанию 1);
2. можно изменить тип вывода: таблица по умолчанию (ник+аватар)либо список (только ник);
3. выводить / не выводить имя пользователя. И ник и аватар являются ссылками, нажав на которую попадаешь в профиль пользователя.

Инструкция по установке -  внутри. Ссылка для скачивания  модуля вот.



Другие разработки смотрите в вики - либо по организации, либо по функциям.

WMR бонус посетителям

Недавно наткнулся на интересный вариант привлечения на сайт пользователей - раздача WMR бонусов.
Вобщем идея классная у себя на сайте реализовал и делюсь со всеми.
И самое главное что свои кровные не тратишь )))
Вот собственно код:

Код PHP:
<script type="text/javascript" src="http://wmcasher.ru/wmcbonus.php?encoding=w"></script> <form action="http://wmcasher.ru/bonus/" method="post"> <p>Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки</p> <p>Кошелек <input type="text" name="bonuspurse" value="R" size="13" id="wmcbonuspurse"/><br/> Код <img src="http://wmcasher.ru/captcha/?background_color=255,255,255" width="50" height="21" alt="Защитный код"><input type="text" name="keystring" value="" size="5" id="wmcbonuskeystring"/><br/> <input type="button" value=" Получить бонус " onclick="getwmcbonus()" style="width:120px"/></p> <p>Бонус предоставлен сервисом <a href="http://www.wmcasher.ru">www.wmcasher.ru</a></p> </form> 
создаем файл имя.php вставляем туда код заливаем на сайт /includes/myphp/ и подключаем модуль.

Кому лень качаем отсюда

Проимер смотрите в модуле "Фишка дня" на моем  сайте

Модуль Календарь

Добрый день.
Возникла необходмость сделать келендарь на сайте.


Сделал возможность выбора месяца

Установка:
1.содержимое архива 1.5.2 или (версию 1.5.1 , архива 1.6.2 )  скопировать в корень сайта

Ajax версия (смена месяца без перезагрузки страницы) : 1.6.2

2.В файле www.ваш_сайт/templates/ваша_тема/template.php перед: </head> вставляем
<script src=’/includes/jquery/lightbox/js/jquery.lightbox.js’ type=’text/javascript’></script>
<script src="/includes/calendar/coda.js" type="text/javascript"> </script>
<link rel="stylesheet" href="/includes/calendar/calendar.css" type="text/css" media="screen" charset="utf-8" />


3.В админке создаем новый модуль и вставляем внешний скрипт calendar.php

4.В файле /includes/myphp/calendar.php меняем

$category_id=0; // ID категории статей, если 0, то показываются статьи со всех разделов
$max_cont=5; // максимальное кол-во статей за 1 день, если о - показывабтся все
$show_arhive=1; // Если 1 - показывет ссылку на архив статей за данный день

$day=$today[’mday’]; - текущий день  
$month=$today[’mon’]; - месяц
$year=$today[’year’]; - год