На днях я решил сделать небольшой сайтик игр, да вот незадача, что на Инстанте то практически функционала под это дело нет. Мне надо было категории игр, страницы игр, не ниже 2 уровня в урле, красивый вывод, загрузка рекламы с умом и наконец то самое главное пост загрузку игры по клику, так как загрузка страницы сразу с игрой это достаточно нехорошо, лишние звуки, реклама забирает на себя внимание (страдает монетизация) ну вот собственно и стоял вопрос, как же это все организовать в кучу. Использовать подходил больше всего каталог статей, разделы как компоненты 1 уровень урла, игры второй уровень, есть все необходимые seo параметры, нетрудно настроить и модуль вывода последних статей и популярных, но нереализуемой оставалась задача по организации самих игр в статье, как и писал выше.
Поговорил с программистами, варианты были разные. Стал разговаривать с Lokanaft, он весьма смышленный малый, и он мне пообещал сделать решение, после того как понял в чем задача. Пока туда сюда решение было сделано, и появился очень хороший способ как во первых ставить удобно нужный контент, во вторых как его монетизировать. Самое интересное, что такие образом можно играться с очень разными вещами, я например уже сделал гораздо лучше чем хотел, так как на 1 странице стал размещать несколько игр сразу с красивым спойлером. Несомненно это даст плюс в поведенческом траффике. Нажал на кнопку появилась игра, нажал другую, вторая игра. Удобно для посетителя, а это один из самых важных моментов. Теперь же непосредственно само решение.
Открываем папку filters - includes и меняем код на
function getLink($file){
if(strpos($file, '?')){
$file = explode('?',$file);
$file[1] = str_replace('&', '&', $file[1]);
mb_parse_str($file[1], $params);
$file = $file[0];
}
$file = preg_replace ('/[^a-zA-Z0-9-_.]/i', '', $file);
$file = str_replace ('..', '.', $file);
$filefull = PATH.'/includes/myphp/'.$file;
if (file_exists($filefull)){
ob_start();
include $filefull;
$link = ob_get_clean();
} else {
$link = 'Файл "/includes/myphp/'.$file.'" не найден!';
}
return $link;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function f_includes(&$text){
if(strpos($text, '{ФАЙЛ') !== false){
$regex = '/{(ФАЙЛ=)s*(.*?)}/i';
$matches = array();
preg_match_all( $regex, $text, $matches, PREG_SET_ORDER );
foreach ($matches as $elm) {
$file = trim($elm[2]);
if ($file){
$output = getLink($file);
} else { $output = ''; }
$text = str_replace('{ФАЙЛ='.$file.'}', $output, $text );
}
}
return true;
}
?>
Организация сайта игр на основе InstantCMS

Letsgo
Опубликовано: 2013-07-26T07:33:47+04:00
Блог: Блог админа
Редактировалось: 1 раз — сегодня в 14:55
Просмотров: 2642
+5↑
Голосов: 5
Комментарии (3)