prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Февраль 2017    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 

Всё для вебмастера » Всё для DataLife Engine » DLE хаки » Cтраницы как на кинопоиск.ru для dle.

Cтраницы как на кинопоиск.ru для dle.


Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
У нас вы можете скачать бесплатно Cтраницы как на кинопоиск.ru для dle..


Cтраницы как на кинопоиск.ru для dle.


Наверное многие видели как устроены страницы на кинопоиске.

Тоесть сама страница на фильм имеет вид.

http://кинопоиск.ru/film/694633 страница на фильм.

http://кинопоиск.ru/film/694633/stills/ страница с кадрами к фильму.

http://кинопоиск.ru/film/694633/video/ страница с трейлером.

Тоесть у каждого фильма есть множество страниц, с дополнительной инфой, кадры, постеры, трейлеры итд.

Многие по сей день путают их с табульными вкладками Нет это страницы!

Теперь покажу как это сделать на dle.

Открываем engine.php после этого


case "pm" :
include ENGINE_DIR . '/modules/pm.php';
break;



Подключаем модуль


case "posters" :
include ENGINE_DIR . '/modules/posters.php';
break;



Создаем файл posters.php и кидеем в engine/modules

В файле пишем код.


<?php
$id_news = $_GET['id_news'];     //преемник нашего id новости

$row = $db->query("SELECT * FROM ".PREFIX."_post WHERE id='$id_news'");
while($list = $db->get_row( $row ))
{

Что выводить например $title = $list['title']; вытащит из базы название новости

}

Что подключать в шаблон. например $tpl->set( '{title}', $title);   Выведет название новости

$tpl->load_template( 'fullstory.tpl' );  //Ваш шаблон в папке с темой.
            
$tpl->compile( 'content' );
$tpl->clear();
?>




В файле .htaccess добовляем


RewriteRule ^film/([0-9]+)/posters(/?)+$ index.php?do=posters&id_news=$1 [L]



Теперь по ссылке http://ваш сайт ру/film/ид новости/posters
Будет страница с нашим модулем которая выведит любую инфу по id новости.Чтобы сделать другие страницы проделываем сначала для каждой страницы.

Название файлов и модуля меняем!


+12
Просмотры: 3440 VIP ProWebber | Комментарии (12)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1qwerty1

  • 12 января 2015 17:24
  • Регистрация: 14.01.2011
  • ICQ: --
  • Комментариев: 19
круворукий автор. Здесь свободно можно сделать sql inject

0

#2AID

  • 12 января 2015 17:29
  • Регистрация: 15.07.2012
  • ICQ: --
  • Комментариев: 18
qwerty1,
$id_news = (int)$_GET['id'];

+1

#3qwerty1

  • 12 января 2015 18:12
  • Регистрация: 14.01.2011
  • ICQ: --
  • Комментариев: 19
AID, без вас кеп знаю

0

#4AID

  • 12 января 2015 18:31
  • Регистрация: 15.07.2012
  • ICQ: --
  • Комментариев: 18
qwerty1,
Молодец!

0

#5D0Gmatist

  • 13 января 2015 09:56
  • Регистрация: 28.07.2012
  • ICQ: --
  • Комментариев: 297
  • Выкл.
1)
у вас для каждого подраздела будет
RewriteRule ^film/([0-9]+)/posters(/?)+$ index.php?do=posters&id_news=$1 [L]
RewriteRule ^film/([0-9]+)/foto(/?)+$ index.php?do=posters&id_news=$1 [L]


но можно сделать так
RewriteRule ^film/([0-9]+)/(.*)(/?)+$ index.php?do=$1&id_news=$2 [L]


и теперь у нас одно правило

2) я бы сделал ещё фишку
а) Доп.поле (poster)
б) Значит и урл у нас домен/film/12123/poster/
в) Значит у нас уже и понятно из какого доп поля делать выборку
г) И на этой основе уже можно сразу и определять шаблон который нужно подключить.

--------------------

+2

#6crysnik

  • 13 января 2015 16:17
  • Регистрация: 15.06.2011
  • ICQ: 457450044
  • Комментариев: 22
  • Выкл.
А как сделать чтобы титл выдавал что типа Постеры: Название новости?

0

#7crysnik

  • 13 января 2015 16:59
  • Регистрация: 15.06.2011
  • ICQ: 457450044
  • Комментариев: 22
  • Выкл.
А не название сайта

0

#8tigrzver

  • 13 января 2015 22:25
  • Регистрация: 28.03.2011
  • ICQ: 627099872
  • Комментариев: 34
может я чего то не догогоняю а какую именно инфу он выводит <?php
$id_news = $_GET['id_news']; //преемник нашего id новости

$row = $db->query("SELECT * FROM ".PREFIX."_post WHERE id='$id_news'");
while($list = $db->get_row( $row ))
{

Что выводить например $title = $list['title']; вытащит из базы название новости

}

Что подключать в шаблон. например $tpl->set( '{title}', $title); Выведет название новости

$tpl->load_template( 'fullstory.tpl' ); //Ваш шаблон в папке с темой.

$tpl->compile( 'content' );
$tpl->clear();
?> Я тут вижу только что выводит титл и номер айди

0

#9vitnet

  • 15 января 2015 08:50
  • Регистрация: 18.09.2010
  • ICQ: 8060715
  • Комментариев: 304
tigrzver,
Вам привели пример реализации, дальше уже на свое усмотрение, что хотите то и добавляйте.

+1

#10JACKIE

  • 3 февраля 2015 08:47
  • Регистрация: 8.12.2011
  • ICQ: --
  • Комментариев: 44
если кто сделал страницы у себя на сайте скиньте ссылку в л.с глянуть?

0

#11sape123

  • 27 февраля 2015 14:40
  • Регистрация: 14.03.2012
  • ICQ: 245617
  • Комментариев: 22
D0Gmatist

Я у себя проще зделал в engain.php написал шаблонизатор, который по GET определяет страницу и подключает ее а в init прописал эти страницы.

В итоге вышли полностью натуральные страницы, на которых работает все, Поисковик их видит очлично.

Но тут есть одно но тут нужно писать модуль sitemap который будет эти страницы загонять в файл sitemap.xml

Тоесть делаем выборку всех новостей по id , проверяем есть ли у этой новости постеры, кадры, видео, саундтреки, сьемки и тд.

Если инфа есть то определеная страница записывается в sitemap.xml. Это чтоб не вышло так, страница постеры есть а вод постеров нет(

Всем привет, для тех кто не понял обьясняю, это всего пример реализации без какой либо защиты и тд.

1.Передаем $_GET с id новости на страницу /posters/, где у нас подключен скрипт.

2. Выдераем всю инфу этой новости.

$row = $db->query("SELECT * FROM ".PREFIX."_post WHERE id='$id_news'");

3.Если у нас постеры в доп поле скажем. Делаем так.

$posters = xfieldsdataload($row['xfields']);
$posters_cont = $posters['ВАШЕ ДОП ПОЛЕ'];

$tpl->set ( '{posters}', $posters_cont;

И вставляем в шаблон {posters}.


Но учтите этот код нужно дорабатывать, можно реализовать подсчет кол-во кадров итд.

У меня на сайте зделано так

#Все страницы к фильму
RewriteRule ^film/([^/]*)/sites/(/?)+$ index.php?sites_id=$1&seourl=$2 [L]
RewriteRule ^film/([^/]*)/video/(/?)+$ index.php?video_id=$1&seourl=$2 [L]
RewriteRule ^film/([^/]*)/posters/(/?)+$ index.php?posters_id=$1&seourl=$2 [L]
RewriteRule ^film/([^/]*)/stills/(/?)+$ index.php?stills_id=$1&seourl=$2 [L]
RewriteRule ^film/([^/]*)/shooting/(/?)+$ index.php?shooting_id=$1&seourl=$2 [L]
RewriteRule ^film/([^/]*)/other/(/?)+$ index.php?other_id=$1&seourl=$2 [L]
RewriteRule ^film/([^/]*)/rating/(/?)+$ index.php?rating_id=$1&seourl=$2 [L]


Ах да забыл.

Для каждой страницы делаем свой шаблон и скрипт.

Шаблон прописываем тут.

$tpl->load_template( 'fullstory.tpl' ); //Ваш шаблон в папке с темой.

Все модули подключаем так.

case "posters" :
include ENGINE_DIR . '/modules/posters.php';
break;

case "kadr" :
include ENGINE_DIR . '/modules/kadr.php';
break;

case "stils" :
include ENGINE_DIR . '/modules/stils.php';
break;

crysnik
В модуле типа posters.php пропиши внутри while(
$posters_title = $row['title'];
А в файле engine.php
После скажем
elseif ($do == 'xfsearch') $nam_e = $xf;
Это
elseif ($do == 'posters') $nam_e = 'Постеры к фильму: '.$posters_title;

0

#12sereg46

  • 19 февраля 2016 19:30
  • Регистрация: 10.08.2011
  • ICQ: --
  • Комментариев: 30
Посмотреть как это выглядит !

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Январь 2017 (6)
Декабрь 2016 (16)
Ноябрь 2016 (9)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)

Последние комментарии:

Искать людей

Ваши переписки