Как сделать новую страницу сайта

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 26 ноября 2011 в 18:41
Не знаю как правильно назвать тему. Смысл проблемы в следующем:

Есть пасрер, который тырит (легально, есть договоренность laugh) инфу с сайта кинотеатра. Вывод инфы двухстраничный. То есть сначала выводится краткий анонс фильма и ссылка подробнее, при переходе по которой открывается вся информация о фильме, время сеансов и прочее. Краткий анонс и сама страница с полным описание, это 2 разных файла. В первом файле стоит ссылка на файл с полным описанием, когда пользователь переходит по ссылке подробнее, то странице с полным описанием присваивается id фильма, и выводится нужно описание.
Так вот, дело в том что файл с кратким описанием выводится с помощью модуля через подключение внешнего скрипта. Но если перейти на страницу с полным описанием, то кроме него (полного описания) больше ничего не выводится. Как мне в этом случае, при просмотре полного описания, сохранить структуру сайта (шаблон)?

Надеюсь понятно объяснил что мне нужно))
#2 26 ноября 2011 в 18:58
И еще вопрос. Пытаюсь вставить через источник в статью php код, но его автоматом комментирует. Можно ли как нибудь вставить php код в статью?
#3 26 ноября 2011 в 19:44

Можно ли как нибудь вставить php код в статью?

Rossoman
Залить php-файл в папку /includes/myphp/. Включить фильтр "Внешние скрипты" и вставить в статью строку типа {ФАЙЛ=filename.php}
#4 26 ноября 2011 в 20:31
К сожалению такой вариант не прокатывает. Проблема из первого поста остается
#5 26 ноября 2011 в 20:34
Rossoman, А чем Вас этот вариант не устраивает?
#6 26 ноября 2011 в 20:36
walterz, да он меня вполне устроил бы, только с парсером не срабатывает почему то, сейчас еще покапаюсчь
#7 26 ноября 2011 в 20:38
Вот теперь срабатывает, но снова выводится только одно описание фильма и все, самого шаблона сайта нет
#8 26 ноября 2011 в 23:52
Не кто не подскажет как вывести результат? Уже всю голову сломал. Проблема из первого поста осталась. При выводе полного описания фильма, исчезает полностью шаблон сайта.
#9 27 ноября 2011 в 00:04
допустим ссылка на полное описание выглядит как /full.php?id=123
тогда просто вставляете файл full.php в статью, как описал Max, а ссылки правите: /adres-stati.html?id=123
то есть ссылаетесь уже на статью, а внутри скрипта full.php который вставлен в статью параметр id обрабатывается как и прежде
#10 27 ноября 2011 в 01:33
Администратор, я именно так и делал, id передается нормально, фильм выводится, но все дело в том что полностью слетает шаблон сайта, его просто нет. Выводится только описание фильма по заданному шаблону и все. Может быть проблема в этом и заключается? Вот файл, который выводит шаблон с полным описанием фильма:
  1.  
  2. <?
  3.  
  4. $template =
  5. '<div class="cinema">
  6. <div class="cinema-t">[TITLE]</div>
  7. <table>
  8. <tr>
  9. <td class="cinema-i"><img src="[IMG]"></td>
  10. <td class="cinema-d">[DESCRIPTION]</td>
  11. </tr>
  12. </table>
  13. <div class="cinema-s">[SEANS]</div>';
  14.  
  15. if(trim($_GET['id'])){
  16. $id = trim($_GET['id'])-1;
  17. $FilmsFile = explode('<delimiter>', file_get_contents('../films.dat'));
  18. $FilmContent = $FilmsFile[$id];
  19. if($FilmContent){
  20. $title = substr($FilmContent, strpos($FilmContent, '<title>')+7);
  21. $title = substr($title, 0, strpos($title, '</title>'));
  22. $template = str_replace('[TITLE]', $title, $template);
  23.  
  24. $img = substr($FilmContent, strpos($FilmContent, '<img>')+5);
  25. $img = substr($img, 0, strpos($img, '</img>'));
  26. $template = str_replace('[IMG]', $img, $template);
  27.  
  28. $description = substr($FilmContent, strpos($FilmContent, '<descr>')+7);
  29. $description = substr($description, 0, strpos($description, '</descr>'));
  30. $template = str_replace('[DESCRIPTION]', $description, $template);
  31.  
  32. $seans = substr($FilmContent, strpos($FilmContent, '<times>')+7);
  33. $seans = substr($seans, 0, strpos($seans, '</times>'));
  34. $seans = str_replace('|', '
  35. ', $seans);
  36. $template = str_replace('[SEANS]', $seans, $template);
  37.  
  38. $trailer = substr($FilmContent, strpos($FilmContent, '<trailer>')+9);
  39. $trailer = substr($trailer, 0, strpos($trailer, '</trailer>'));
  40. if($trailer)
  41. $template .= '<div class="cinema-tr"><object type="application/x-shockwave-flash" data="http://www.luxorfilm.ru/Modules/Video/player_flv_maxi.swf" width="560" height="366"><param name="movie" value="http://www.luxorfilm.ru/Modules/Video/player_flv_maxi.swf" /><param name="allowFullScreen" value="true" /><param name="wmode" value="opaque" /><param name="FlashVars" value="'.$trailer.'" /></object></div>';
  42.  
  43. echo $template.'</div>';
  44.  
  45. } else die('некорректный id фильма');
  46.  
  47. } else die('некорректный id фильма');
  48. //$template
  49. ?>
  50.  
  51.  
  52.  
Может быть из за того что в переменной $template находится шаблон для вывода и слетает весь шаблон сайта?
#11 27 ноября 2011 в 12:41
Rossoman, по-моему, вы неправильно поняли Администратора. Как я понял с первого поста, внешний скрипт вы подключаете в модуле внешний файл. А на страницу с отдельным описанием переходите по ссылке на другой файл. То есть у вас два скрипта. В этом случае в вашем файле с полным описанием нужно подключать ядро, класс cmsPage и дальше выводить как в файле template.php. Это конечно же, более сложный способ.
Лучше как посоветовал Администратор. Запихните оба ваши скрипта в один файл. Назовите его, например,filename.php. Причем сделайте условие, если нет входной переменной (!$id), то выполняется код с первого файла. Если же есть, то выполняется код со второго файла(полное описание). Далее создаете статью какую-то, ури которого, допустим, /adres-stati.html. В тело статьи вставляете {ФАЙЛ=filename.php}. И далее где нужна ссылка на полное описание указываете ссылку /adres-stati.html?id=123, а не ссылку на ваш второй скрипт. Теперь, в обеих случаях у вас выполняется один скрипт filename.php. Если есть id, выполняется код, соотвествующий вашему первому скрипту, иначе код, который у вас был во втором скрипте. Как-то так.
#12 28 ноября 2011 в 12:55
Все сделал. Спасибо Администратор, и Марат, за разъяснения.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.