X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Знающим PHP и DLE, Просьба посмотреть темку=)
jjoret
jjoret
Topic Starter сообщение 13.8.2012, 1:35; Ответить: jjoret
Сообщение #1


Здравствуйте. Есть шаблон top-games.php, в которой имеется вот такие 2 строчки:
$link = "<a href=\"" . $full_link . "\">" . stripslashes( $title ) . "</a>";
$topnews .= "<li>" . $link . "</li>";

Они отвечают за то, в какой форме будет выводиться топ новостей на статистической странице. Как подключить сюда шаблон top-games.tpl, заменив им эти 2 строки, чтобы потом при редактировании шаблона не лезть в php, а сразу в админке поправить? Заранее благодарю за ответ!


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serkaz
serkaz
сообщение 13.8.2012, 1:54; Ответить: serkaz
Сообщение #2


Файл top-games.tpl:

<li><a href="{full_link}">{title}</a></li>


В файле top-games.php:

$top_game = file_get_contents('путь до файла шаблона/top-games.tpl');
$top_game = str_replace("{full_link}", $full_link, $top_game);
$top_game = str_replace("{title}", stripslashes($title), $top_game);
$topnews .= $top_game;


А ещё лучше вынести file_get_contents перед циклом, тогда получится вот так:

$top_game_tpl = file_get_contents('путь до файла шаблона/top-games.tpl');
//начало цикла
$top_game = $top_game_tpl;
$top_game = str_replace("{full_link}", $full_link, $top_game);
$top_game = str_replace("{title}", stripslashes($title), $top_game);
$topnews .= $top_game;


Сообщение отредактировал serkaz - 13.8.2012, 2:01


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
jjoret
jjoret
Topic Starter сообщение 13.8.2012, 13:06; Ответить: jjoret
Сообщение #3


serkaz, или я не понял, или вы не поняли. Файл top-games.php это почти тоже самое что и topnews.php, только перед ?> добавлена строчка echo $topnews; Ну вот в принципе и сам код:
<?php
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

$topnews = dle_cache( "topnews", $config['skin'] );

if( $topnews === false ) {

    $this_month = date( 'Y-m-d H:i:s', $_TIME );

   $db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );

    while ( $row = $db->get_row() ) {

        $row['date'] = strtotime( $row['date'] );
        $row['category'] = intval( $row['category'] );

        if( $config['allow_alt_url'] == "yes" ) {

            if( $row['flag'] and $config['seo_type'] ) {

                if( $row['category'] and $config['seo_type'] == 2 ) {

                    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";

                } else {

                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";

                }

            } else {

                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
            }

        } else {

            $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];

        }

        if( dle_strlen( $row['title'], $config['charset'] ) > 55 ) $title = dle_substr( $row['title'], 0, 55, $config['charset'] ) . " ...";
        else $title = $row['title'];

        $link = "<a href=\"" . $full_link . "\">" . stripslashes( $title ) . "</a>";

        $topnews .= "<li>" . $link . "</li>";
    }

    $db->free();

    create_cache( "topnews", $topnews, $config['skin'] );
}
echo  $topnews;
?>

Это все нужно сделать для того, чтобы при изменении краткой новости их топа не лезть в php, а сразу в админке менять, то есть нужно куда сюда подключить top-games.tpl, но я не знаю как pardon.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
сообщение 13.8.2012, 13:34; Ответить: MeTaTRoN
Сообщение #4


Если я правильно понял суть, то вот это вот в цикле?

$link = "<a href=\"" . $full_link . "\">" . stripslashes( $title ) . "</a>";
$topnews .= "<li>" . $link . "</li>";


Если да, то напишите, код вместе с циклом

Сообщение отредактировал MeTaTRoN - 13.8.2012, 13:34


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
jjoret
jjoret
Topic Starter сообщение 13.8.2012, 16:50; Ответить: jjoret
Сообщение #5


MeTaTRoN, да, где-то в этом цикле нужно написать подключение к шаблону


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serkaz
serkaz
сообщение 13.8.2012, 18:23; Ответить: serkaz
Сообщение #6


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

$topnews = dle_cache( "topnews", $config['skin'] );

if( $topnews === false ) {

    $this_month = date( 'Y-m-d H:i:s', $_TIME );

   $db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );

    $top_game_tpl = file_get_contents('путь до файла шаблона/top-games.tpl');
    while ( $row = $db->get_row() ) {

        $row['date'] = strtotime( $row['date'] );
        $row['category'] = intval( $row['category'] );

        if( $config['allow_alt_url'] == "yes" ) {

            if( $row['flag'] and $config['seo_type'] ) {

                if( $row['category'] and $config['seo_type'] == 2 ) {

                    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";

                } else {

                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";

                }

            } else {

                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
            }

        } else {

            $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];

        }

        if( dle_strlen( $row['title'], $config['charset'] ) > 55 ) $title = dle_substr( $row['title'], 0, 55, $config['charset'] ) . " ...";
        else $title = $row['title'];

        $top_game = $top_game_tpl;
        $top_game = str_replace("{full_link}", $full_link, $top_game);
        $top_game = str_replace("{title}", stripslashes($title), $top_game);
        $topnews .= $top_game;
        
    }

    $db->free();

    create_cache( "topnews", $topnews, $config['skin'] );
}
echo  $topnews;
?>


$top_game_tpl = file_get_contents('путь до файла шаблона/top-games.tpl'); - не забудьте тут путь прописать.

Сообщение отредактировал serkaz - 13.8.2012, 18:24


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
jjoret
jjoret
Topic Starter сообщение 13.8.2012, 19:21; Ответить: jjoret
Сообщение #7


serkaz, я все сделал, но показывает просто пустое место, ни ошибок, ничего. Если что то версия dle - 9.6 null

И еще: {THEME}/top-game.tpl - так прописывать пусть к файлу?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serkaz
serkaz
сообщение 13.8.2012, 19:27; Ответить: serkaz
Сообщение #8


jjoret, нет, не правильно, из-за этого не работает. Напишите здесь полный путь до директории с php файлом, и полный путь до директории с tpl файлом.

Сообщение отредактировал serkaz - 13.8.2012, 19:27


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
jjoret
jjoret
Topic Starter сообщение 13.8.2012, 19:42; Ответить: jjoret
Сообщение #9


http://САЙТ.ru/templates/Games/top-game.tpl
http://САЙТ.ru/engine/modules/top-games.php


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serkaz
serkaz
сообщение 13.8.2012, 20:13; Ответить: serkaz
Сообщение #10


$top_game_tpl = file_get_contents('../../templates/Games/top-game.tpl');

Сообщение отредактировал serkaz - 13.8.2012, 20:15


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) DLE xProtect
2 xoopw 5983 15.1.2024, 21:06
автор: Diana_Wesley
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3415 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1243 24.11.2023, 14:46
автор: alexey
Открытая тема (нет новых ответов) Обновить сайт на CMS DLE
1 Sawich 1665 2.9.2023, 10:10
автор: WoWeb
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44916 19.7.2023, 10:03
автор: qpPeW


 



RSS Текстовая версия Сейчас: 23.4.2024, 14:20
Дизайн