注册
DLE中文网 » 插件模块 » Ajax 切换 DLE 主页面上的短消息视图

Ajax 切换 DLE 主页面上的短消息视图

27 11月 2022, 16:38
插件模块
393  
0
Ajax 切换 DLE 主页面上的短消息视图

Ajax 模板 hack 是一个小修改,允许您在不重新加载整个页面的情况下更改短新闻的外观。
此 hack 根本不会加载网站。它的工作原理是在不重新加载整个页面的情况下加载一个额外的短消息模板。
您已经看到了这个修改的演示,如果您还没有看到它,您可以查看本站的主页。

安装:
首先,下载带有修改/破解文件的存档   下载链接

我们解压缩存档并将其分散到我们 DLE 网站的文件夹中。 

首先,让我们将它连接到我们的模板。为此,打开main.tpl 文件并在</head> 标记前插入以下行: 

[aviable=main|cat]<link media="screen" href="{THEME}/css/ajax_temp.css" type="text/css" rel="stylesheet" />[/aviable]


然后,在同一个文件的最底部,我们包含 .js 文件,在<body> 标签之前, 插入:

[aviable=main|cat]<script type="text/jаvascript" src="{THEME}/js/ajax_temp.js"></script>[/aviable]


在同一个文件中,在我们希望显示开关本身的地方,插入以下内容:

[aviable=main|cat]
<div class="view-type templater">
<a href="#" [default] class="activetempajax" [/default] data-temp="this_1" data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="default">
<span class="setview view1"></span>
</a>
<a href="#" [list] class="activetempajax" [/ list] data-temp="this_2"  data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="list">
<span class="setview view2"></span>
</a>
<a href="#" [table] class="activetempajax" [/table] data-temp="this_3" data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="tablet">
<span class="setview view3"></span>
</a>
</div>
[/aviable]


准备好!我们已经连接到模板。现在让我们看一下引擎文件。打开/engine/engine.php 

文件  并查找以下行: 

$cache_prefix .= "_tempate_" . $config['skin'];


我们在下面添加它:

$user_short_tpl = array(
    'default' => 'shortstory.tpl',
    'list' => 'shortstory_list.tpl',
    'tablet' => 'shortstory_tablet.tpl'
);
$user_tpl =(isset($_COOKIE['short_template']) && isset($user_short_tpl[$_COOKIE['short_template']])) ? $_COOKIE['short_template'] : "default";
$cache_prefix .= "_".$user_tpl;


接下来,打开  /engine/modules/show.short.php 文件并查找以下行:

if( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
else $tpl->load_template( 'shortstory.tpl' );


我们将这些行替换为:

$user_short_tpl = array(
    'default' => 'shortstory.tpl', 
    'list' => 'shortstory_list.tpl', 
    'tablet' => 'shortstory_tablet.tpl' 
);
if($template_ajax)
    $user_tpl = $user_short_tpl[$template_ajax];
else
    $user_tpl =(isset($_COOKIE['short_template']) && isset($user_short_tpl[$_COOKIE['short_template']])) ? $user_short_tpl[$_COOKIE['short_template']] : $user_short_tpl["default"];
if( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
else{ $tpl->load_template($user_tpl);}


之后,打开/engine/modules/main.php文件(如果你有一个旧版本的 DLE,那么index.php文件就是根!)并找到:

$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );


在下面插入:

$tpl->set ( '{id_cat}', $category_id );
$tpl->set ( '{cstart}', intval($_REQUEST["cstart"]) );
if(isset($_COOKIE['short_template']))
{
    if($_COOKIE['short_template'] == "default")
    {
        $tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "\\1" );
        $tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "" );
        $tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "" );
    }
    elseif($_COOKIE['short_template'] == "list")
    {
        $tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "" );
        $tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "\\1" );
        $tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "" );
    }
    else
    {
        $tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "" );
        $tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "" );
        $tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "\\1" );
    }
}
else
{
    $tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "\\1" );
    $tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "" );
    $tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "" );
}


好的,一切都结束了!如果您完全按照本文中的说明进行了所有操作,那么破解应该可行!
在文件 shortstory.tpl shortstory_list.tpl shortstory_tablet.tpl 中,我们配置外观。

 

如果您需要删除其中一个开关,则只需删除 main.tpl 中的以下行之一:
<a href="#" [table] class="activetempajax" [/table] data-temp="this_3" data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="tablet">
        <span class="setview view3"></span>
    </a>
评论列表
注释的最小长度为10个汉子。评论正在编辑中
刷新图片

相关新闻: