Мы в твиттере Мы в телеграме!

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

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

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

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно 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 новости.Чтобы сделать другие страницы проделываем сначала для каждой страницы.

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


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+7
Просмотры: 6 269 :: Комментарии (12) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1qwerty1

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

#2AID

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

#3qwerty1

  • 12 января 2015 18:12
  • Регистрация: 14.01.2011
  • Был(а) онлайн: 6.07.2022
  • Комментариев: 19
  • -1
AID, без вас кеп знаю

#4AID

  • 12 января 2015 18:31
  • Регистрация: 15.07.2012
  • Был(а) онлайн: 23.10.2016
  • Комментариев: 18
  • -1
qwerty1,
Молодец!

#5D0Gmatist

  • 13 января 2015 09:56
  • Регистрация: 28.07.2012
  • Был(а) онлайн: 24.06.2021
  • Комментариев: 291
  • 0
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/
в) Значит у нас уже и понятно из какого доп поля делать выборку
г) И на этой основе уже можно сразу и определять шаблон который нужно подключить.

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

#6crysnik

  • 13 января 2015 16:17
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • -1
А как сделать чтобы титл выдавал что типа Постеры: Название новости?

#7crysnik

  • 13 января 2015 16:59
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • -1
А не название сайта

#8tigrzver

  • 13 января 2015 22:25
  • Регистрация: 28.03.2011
  • Был(а) онлайн: 5.03.2022
  • Комментариев: 34
  • -1
может я чего то не догогоняю а какую именно инфу он выводит <?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();
?> Я тут вижу только что выводит титл и номер айди

#9vitnet

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

#10JACKIE

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

#11sape123

  • 27 февраля 2015 14:40
  • Регистрация: 14.03.2012
  • Был(а) онлайн: 4.11.2020
  • Комментариев: 22
  • -1
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;

#12sereg46

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

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

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

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