Система управления сайтами DataCMS 2.0


FAQ - часто задаваемые вопросы и ответы

Развернуть все

Как вывести значение режиссера {{ movie.director|raw }} не ссылкой, а текстовым значением?

Ответ: В нужном шаблоне вместо фильтра шаблонизатора "raw" вставляем другой фильтр "striptags", его описание можно найти тут - http://twig.sensiolabs.org/doc/filters/striptags.html. Полученный код:
{{ movie.director|striptags }}

Кстати, чтобы изменения подействовало на все шаблоны сразу, можно в файле "/engine/mode/movie.php" удалить эту строчку:
$row['director'] = explodeOne($row['director'], 'director', 10);


Можно ли вставлять в плеер прямые ссылки на видео с другого сайта?

Ответ:

Можно это делать, используя например, Jwplayer из этого модуля http://www.2movietime.ru/getupdate_packages/12-pleer-jwplayer-dlya-proigryvaniya-videofajlov.html. Но так как там используются видео со своего сайта, необходимо внести небольшое изменение. В админпанели зайти в раздел "Общие плейеры" и в этом плеере найти строчку:

file: "http://2movietime.com[%param2%]",

где убрать адрес сайта (вместо 2movietime.com будет адрес вашего сайта) из кода, тогда можно будет вставлять любую прямую ссылку на видео. [%param2%] - это как раз та ссылка, которая будет вставляться из характеристик фильма.



В поисковой выдаче после названия фильма выдает "Movie time" либо "Movie time.ru" Как это убрать?

Ответ: Посмотрите в браузере в исходном коде страницы просмотра фильма присутствуют ли эти лишние слова в мета-теге "title". Если нет, значит поисковая система сама добавляет эти слова, так как заголовок короткий. Избежать этого, можно увеличив длину заголовков или добавив шаблонную фразу ко всем заголовкам. Сделать это можно в админпанели в настройках раздела "Мета-теги" в параметре "Шаблон для заголовков страниц фильмов".

А есть у движка RSS лента?

Ответ: Да есть. Общая лента фильмов выводится по адресу - http://ВАШ_САЙТ.COM/movies/rss.xml
А ссылку на ленту отдельно для каждого автора можно увидеть в личном профиле (в дефолтном шаблоне она точно есть). Например, для владельца адрес будет выглядеть так - http://ВАШ_САЙТ.COM/user/62/movies/rss.xml

Как создать в кроне задачу с периодическим запуском скрипта для "Новостей кино" ?

Ответ: У разных хостингов разные панели управления и добавление задачи в кроне там отличается, поэтому проще и быстрее всего обратиться к хостеру или администратору, обслуживающему ваш хостинг или сервер. Но если все-таки вы хотите сделать это самостоятельно и не сталкивались с этим раньше - информацию легко найти в интернете, используя при поиске название вашей панели управления хостингом.

Можно попробовать добавить в задание cron'а скрипт через wget:
wget -O - -q -t 1 http://ВАШ_САЙТ.com/engine/modules/kpnews/kinopoisk/kpnews.php
Иногда требуется указывать полный путь к утилите wget, например:
/usr/bin/wget -O - -q -t 1 http://ВАШ_САЙТ.com/engine/modules/kpnews/kinopoisk/kpnews.php


Как добавить в стандартном (дефолтном) шаблоне блок "Топ 5 сериалы" ?

Ответ: Для этого можно использовать модуль "Выборки фильмов". В выборках есть одно критичное важное поле "Шаблон", то есть если вы укажете несуществующий шаблон или не укажете совсем, то будет выдаваться ошибка шаблонизатора ".... unable to find template....". Остальные параметры в выборках не так критичны.

Так как в дефолтном шаблоне не используются выборки, нужно будет создать какой-то шаблон, чтобы использовать его в выборке. За основу можно взять шаблон "top5.tpl", небольшим образом переделав его по примеру любого шаблона для выборки, например "custom-post.tpl" из темы Formovies. Создаем копию файла "top5.tpl" под новым названием, например "custom1.tpl" (это название надо вставить в поле "Шаблон" выборки). В шаблонах выборки в самом начале помещаем строку
 {% import "inc_macros.tpl" as M %}
далее меняем строку
{% for value in top5 %}
на
{% for value in customsampling %}

Это служебные теги шаблонизатора, можно увидеть что в "custom-post.tpl" из "Formovies" именно такая структура. Затем в настройках выборки устанавливаем категорию "Сериалы", можно настроить и другие параметры так как вам необходимо. В завершении надо поменять заголовок блока "Топ 5 фильмы" на нужный. Сама выборка выводится в нужном месте шаблона (обычно "main.tpl") с помощью тега:
{{ ТУТ_БУДЕТ_НАЗВАНИЕ_ВЫБОРКИ|raw }}


Как открыть для индексации такие страницы как: "/actor/Билли+Уэст/", "/category/komediya/", "/year/2008/", "/country/Великобритания/" ?

Ответ: Ссылке "/actor/Билли+Уэст/" соответствует раздел "актер", за него отвечает файл "/engine/mode/actor.php", находите там строку
$template_data['robots'] = 'noindex,follow';
и удаляете ее.
Ссылке "/category/komediya/" - соответствует файл "/engine/mode/category.php", ту же самую строчку удаляем.
Нетрудно заметить принцип соответствия ссылок - разделов - файлов и найти нужные файлы для остальных ссылок.

Как сделать, чтобы на странице просмотра фильма вместо полной ссылки на категориию было просто название категории?

Ответ: В шаблоне "fullstory.tpl" или "movie.tpl" (в зависимости от текущей темы) меняем:
{% for value2 in movie.categories %}
	{{ M.category_link(categories[value2]) }}
{% endfor %}					
на:
{% for value2 in movie.categories %}
	{{ categories[value2].title }}
{% endfor %}


Как получить ссылку на только первый скриншот фильма?

Ответ: Рассмотрим на примере стандартной (дефолтной темы). В файле "photos.tpl" видим следующий код для вывода скриншотов:
{% for value in movie.arr_screen_list %}

	
  • <a onclick="return hs.expand(this)" class="highslide" href="{{ M.photos_uri(movie, reso['photo']['large'].name, value) }}"><img src="{{ M.photos_uri(movie, reso['photo'][0].name, value) }}" heigh="{{ reso['photo'][0].height }}" alt="" /></a>
  • {% endfor %}
    Скриншоты находятся в массиве "arr_screen_list", поэтому movie.arr_screen_list[0] - это переменная для первого изображения, movie.arr_screen_list[1] - для второго изображения и т.д..
    Первый скриншот (малое изображение с увеличением при клике) можно получить так:
    <a onclick="return hs.expand(this)" class="highslide" href="{{ M.photos_uri(movie, reso['photo']['large'].name, movie.arr_screen_list[0]) }}"><img src="{{ M.photos_uri(movie, reso['photo'][0].name, movie.arr_screen_list[0]) }}" heigh="{{ reso['photo'][0].height }}" alt="" /></a>
    
    Просто ссылка на малое изображение:
    {{ M.photos_uri(movie, reso['photo'][0].name, movie.arr_screen_list[0]) }}
    
    Просто ссылка на большое изображение:
    {{ M.photos_uri(movie, reso['photo']['large'].name, movie.arr_screen_list[0]) }}
    


    Где редактируется "title" и "description" для актеров, режиссеров, продюсеров, года, страны?

    Ответ: "Актер" - файл "/engine/mode/actor.php". Кстати, в начале каждого файла в этой папке есть подсказка, какому режиму соответствует файл. Строка отвечающая за "title":
    $template_data['title'] = 'Фильмография артиста(ки) <'.mb_strtoupper($name).'> '.$str.' | '.$core->domain.' - смотреть кино онлайн';
    
    По аналогии, так же можно найти и остальные файлы-режимы. режиссер - director.php продюссер - producer.php год - year.php страна - country.php

    Как исключить нужную категорию из раздела "Года выпуска"?

    Ответ: Необходимо добавить в SQL запрос строку
    AND NOT FIND_IN_SET(ТУТ_АЙДИ_НУЖНОЙ_КАТЕГОРИИ, `categories`)
    
    Изменения производим в файле "/engine/mode/year.php", находим строку
    $movie->main_stream = array('sql_addon' => " AND mt_year = ".$year);
    
    и заменяем ее на
    $movie->main_stream = array('sql_addon' => " AND mt_year = ".$year." AND NOT FIND_IN_SET(ТУТ_АЙДИ_НУЖНОЙ_КАТЕГОРИИ, `categories`)");
    
    Например, если нам нужно исключить категории с ID 2 и 17, получится:
    $movie->main_stream = array('sql_addon' => " AND mt_year = ".$year." AND NOT FIND_IN_SET(2, `categories`) AND NOT FIND_IN_SET(17, `categories`)");
    
    Посмотреть ID категорий можно в админпанели в разделе Контент -> Категории фильмов или прямо в базе в таблице "categories".

    Как менять формат вывода даты публикации фильма (убрать часы и минуты) ?

    Ответ: Убрать часы и минуты можно по крайней мере двумя способами. Первый - редактирование PHP файлов, находим в файлах "/engine/mode/includes/main_stream.php" (основная лента фильмов) и "/engine/mode/movie.php" (страница просмотра фильма) строку
    $row['created'] = russDate_b($row['created']);
    
    и меняем ее
    $row['created'] = russDate_b($row['created'], false);
    
    Таким образом, функция russDate_b будет выводить дату публикации без времени. Второй способ, с помощью тега шаблонизатора Twig меняем формат вывода даты - http://twig.sensiolabs.org/doc/filters/date.html. Например, в файле "/templates/Default/main_stream.tpl" или "/templates/Formovies/fullstory.tpl" к тегу вывода даты публикации добавляем фильтр шаблонизатора date (d - день, m - месяц, Y - год)

    Было
    {{ value.created }}
    
    Стало
    {{ value.created|date("d.m.Y") }}
    
    Было
    {{ movie.created }}
    
    Стало
    {{ movie.created|date("d.m.Y") }}
    


    Можно ли будет заливать описания и поля фильмов (например, базу Кинопоиска) напрямую в базу MySQL через PhpMyAdmin или MySQL manager ?

    Ответ: Как известно, при желании можно сделать все что угодно. Обновление «Тестовая база с 500-ми фильмами» импортируется прямым запросом к базе, Вы можете на примере этого обновления сделать импорт нужных фильмов.

    Я разместил сайт в папку, но при переходе на страницу любого фильма выдает ошибку 404, как исправить?

    Ответ: Если сайт расположен не как обычно - в корне, а в папке - измените файл .htaccess
    До изменений:
    RewriteRule ^(.*)$ index.php
    #RewriteRule ^(.*)$ folder1/index.php
    #RewriteRule ^(.*)$ folder1/folder2/index.php
    
    После изменений
    #RewriteRule ^(.*)$ index.php
    RewriteRule ^(.*)$ ТУТ_НАЗВАНИЕ_ПАПКИ/index.php
    #RewriteRule ^(.*)$ folder1/folder2/index.php
    
    Если же необходимо разместить сайт в папку третьего уровня вложенности, правки другие.
    До изменений:
    RewriteRule ^(.*)$ index.php
    #RewriteRule ^(.*)$ folder1/index.php
    #RewriteRule ^(.*)$ folder1/folder2/index.php
    
    После изменений
    #RewriteRule ^(.*)$ index.php
    #RewriteRule ^(.*)$ folder1/index.php
    RewriteRule ^(.*)$ ТУТ_НАЗВАНИЕ_ПАПКИ_1/ТУТ_НАЗВАНИЕ_ПАПКИ_2/index.php
    





    Нас интересует

    Как вы смотрите фильмы