Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как подключить свой модуль в короткую новость?

Как подключить свой модуль в короткую новость?


     23.03.2016    Общие вопросы по PHP    413

вопрос
У меня есть файлик МОЙ_МОДУЛЬ.PHP в папке modules - и этот файлик является моим модулем. В show.full его подключить удалось простой строчкой:
require_once ROOT_DIR.'/engine/modules/МОЙ_МОДУЛЬ.PHP';

И все работает, вот только теперь появилась необходимость подключить его к короткой новости и к кастому. Такой же номер с остальными show.short и show.cusmon не прокатили, как быть?

Ответа пока нет


Комментарии пользователей (4)

DomiTori
10

135 | 21

DomiTori - 23 марта 2016 16:17 - Юзер

Смотря о чем модуль. В shortstory.tpl шаблона
{include file="engine/modules/mymod.php"} пробовал?

kinobe
2

kinobe - 23 марта 2016 18:19 - Юзер

Пробовал, не пашет.(

kinobe
2

kinobe - 23 марта 2016 18:21 - Юзер

Вот и весь модуль:

<?    

if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}

$cacheid = $row['id'];

$all = unserialize(dle_cache( "kino_rating"."_".$cacheid, $config['skin'] ));
$kino_rating = $all[0];
$kino_votes = $all[1];
$imdb_rating = $all[2];
$imdb_votes = $all[3];

if ($all =='') {

$all = array();

$kinopoisk = xfieldsdataload($row['xfields']);
$kinopoisk['kp'] = preg_replace('#<(.+?)>#', '', $kinopoisk['kp']);

$kinopoisk = $kinopoisk['kp'];

$rating = file_get_contents("http://rating.kinopoisk.ru/{$kinopoisk}.xml");

preg_match("/kp_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $kp);
$kino_rating = $kp[2];
$kino_votes = ($kino_rating) ? $kp[1] : "";
$kino_votes = $kino_votes;

preg_match("/imdb_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $imdb);
$imdb_rating = $imdb[2];
$imdb_votes = ($imdb_rating) ? $imdb[1] : "";
$imdb_votes = $imdb_votes;

$all = array( $kino_rating, $kino_votes, $imdb_rating, $imdb_votes);

create_cache( "kino_rating"."_".$cacheid, serialize($all), $config['skin'] );

}

if ($imdb_rating =='' or $imdb_rating =='0') {

$kino_rate = round(($kino_rating), 1);
$sum_vote = number_format($kino_votes);

} elseif ($kino_rating =='0' or $kino_rating =='') {

$kino_rate = round(($imdb_rating), 1);
$sum_vote = number_format($imdb_votes);

} else {

$kino_rate = round(($kino_rating+$imdb_rating)/2, 1);
$sum_vote = number_format(($kino_votes+$imdb_votes)/2);

};

$tpl->set('{kinopoisk}', $kino_rate);
$tpl->set('{kinopoisk_vote}', $sum_vote);

?>

misha-koder
7

299 | 78

misha-koder - 23 марта 2016 18:33 - Юзер

Внутри цикла через include, вместо require_once.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы