最近Datalife Engine 推出了10.0 版本,下载了一直没正式做站。从官方说明中可以看到,新版 10.0中改版的功能是不少,但实际安装新版本后,几乎没有感觉出有什么变动。

要说个人感觉到的变动,应该是数index.php 少了一大段share-popup的代码了,做成不知道哪里控制鼠标分享功能中的文字输出。

新版 10 english 中显示的分享popup 如下,一堆毛语。

DLE 10 的highlight 如何改成英语

新版中找了好久,硬是没找到相应的内容,经过与9.8的对比,发现少了以下一段代码:

if ( $config['allow_share'] AND ($dle_module == "showfull" OR $dle_module == "static") ) {

$ajax .= <<<HTML

$(function(){
var timeoutHover = null;

$('body').append('<div id="share-popup" style="display:none"><div class="social"><p>{$lang['share_text_1']}</p><ul><li><a href="#" class="tw"><span></span>Twitter</a></li><li><a href="#" class="fb"><span></span>Facebook</a></li><li><a href="#" class="vk"><span></span>VKShare</a></li><li><a href="#" class="gp"><span></span>Google+</a></li></ul></div><div class="link"><p>{$lang['share_text_2']}</p><a href=""><ins></ins></a><span>{$lang['share_text_3']}</span></div></div>');

$("#share-popup").hover(
function(){
if (typeof timeout_hover!="undefined") {
window.clearTimeout(timeout_hover)
}

},
function(){
timeout_hover=window.setTimeout(function(){
hideSharePopup();
},2000);
}
);

MaSha.instance=new MaSha({
selectable:$("#dle-content")[0],
'ignored': '.ignore-select',
onMark:function(){
updateSharePopupContent();
showSharePopup($(".num"+ (this.counter-1), $(this.selectable))[0]);
},
onUnmark: function(){
"undefined"!=typeof hideSharePopup && hideSharePopup("",!0);
updateSharePopupContent();
}
});
updateSharePopupContent();

});
HTML;

}

$ajax .= <<<HTML
//-->
</script>
HTML;

当然了,以上的代码是改成英文后的代码,直接复制到10.0的 根目录下的 index.php第 215附近,以下代码后即可。

if (strpos ( $tpl->result['content'], "<pre><code>" ) !== false) {

$js_array[] = "engine/classes/highlight/highlight.code.js";

$ajax .= <<<HTML

$(function(){
$('pre code').each(function(i, e) {hljs.highlightBlock(e, null)});
});
HTML;

}

实现的效果如下:

DLE 10 的highlight 如何改成英语

不知道算不算bug,还是说有其他文件控制share text的输出,不管你信不信,反正我是没在网上搜到相关的信息,而这样改又能控制文字,就先留下文字,做个记录,省得以后又忘记在哪改了。

PS:要改动的文件: DatalifeEngine/index.php,改动方法为添加一段代码,不用删除任何代码。

------------------------------------------------------------ 更新 -------------------------------

以上方法不太科学,毕竟1o.0有部分新的设置是个人不太清楚的,在不清晰的情况下改动代码,尤其是JS部分,明显不智

还是直接找到显示毛毛语的文件修改文字比较好:

要修改的文件:Datalife Engaine/engine/classes/masha/masha.js, 找到

var timeoutHover = null;

位置大概在44行,修改unicode代码,

原代码:

$("body").append('<div id="share-popup" style="display:none"><div><p>\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442</p><ul><li><a href="#"><span></span>Twitter</a></li><li><a href="#"><span></span>Facebook</a></li><li><a href="#"><span></span>\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435</a></li><li><a href="#"><span></span>Google+</a></li></ul></div><div><p>\u041f\u0440\u044f\u043c\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430:</p><a href=""><ins></ins></a><span>\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 \u043c\u044b\u0448\u0438 \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u00ab\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443\u00bb</span></div></div>');

改后代码:

$("body").append('<div id="share-popup" style="display:none"><div><p>Share selected text</p><ul><li><a href="#"><span></span>Twitter</a></li><li><a href="#"><span></span>Facebook</a></li><li><a href="#"><span></span>VKShare</a></li><li><a href="#"><span></span>Google+</a></li></ul></div><div><p>Direct Share Link: </p><a href=""><ins></ins></a><span>Copy share link: Right click and select "Copy Link"</span></div></div>');

文字个人爱好。