立即注册 登录
彼岸网 返回首页

天香公主的个人空间 http://www.bian-wang.com/discuz/?10005 [收藏] [复制] [分享] [RSS] https://github.com/txgz999/discuz/wiki

日志

Discuz功能改进:导入博文和图片

热度 4已有 4940 次阅读2015-10-12 12:45 AM |个人分类:Discuz

有很多博主都会将一篇博文发在几个网站,毕竟写篇原创不易,多发几个地方就多些读者,也有的这样做是为了备份。但是从一个网站直接将博文拷贝到另一个网站对有的摄影博主来讲效果并不理想,因为这样做的话博文中的图片并没有和博文的内容一起拷贝到第二个网站。这样的博文也不会出现在各种摄影模块里因为那些模块只选择含有本地图片的博文。本文讨论既相关又独立的两个问题:如何在日志编辑器的工具栏里添加两个按钮,一个将远程日志内容拷贝到编辑器里,另一个将日志里的远程图片都下载到本地,并使得日志内容指向下载的本地图片。

1。导入图片
Discuz在论坛编辑器和文章编辑器里都提供了下载远程图片到本地的功能(需在管理中心对选定的用户组设置后才能使用论坛编辑器:用户->用户组->选择用户组编辑->论坛相关->贴子相关->允许下载远程图片: 远程图片本地化保存),唯独日志编辑器里缺少这个功能。下面我们介绍下在日志编辑器里添加这个功能的步骤。


1)在日志编辑器的工具栏里添加"下载远程图片"按钮: 将文件 source/module/home/home_editor.php 里的这段 <?php if ($isportal) { ?> <a href="javascript:;" class="icoPage" id="icoPage" onClick="pageBreak(event, 1);return false;" title="<?php echo lang('home/editor', 'editor_pagebreak'); ?>"></a> <a href="javascript:;" class="icoDown" id="icoDown" onClick="parent.downRemoteFile();return false;" title="<?php echo lang('home/editor', 'editor_download_remote'); ?>"></a> <?php } ?> 改为: <?php if ($isportal) { ?> <a href="javascript:;" class="icoPage" id="icoPage" onClick="pageBreak(event, 1);return false;" title="<?php echo lang('home/editor', 'editor_pagebreak'); ?>"></a> <?php } ?> <a href="javascript:;" class="icoDown" id="icoDown" onClick="parent.downRemoteFile();return false;" title="<?php echo lang('home/editor', 'editor_download_remote'); ?>"></a> 2)修改对点击该按钮的事件处理代码使之兼顾文章编辑器和日志编辑器。将文件 static/image/editor/editor_function.js 中的函数 downRemoteFile function downRemoteFile() { edit_save(); var formObj = $("articleform"); var oldAction = formObj.action; formObj.action = "portal.php?mod=portalcp&ac=upload&op=downremotefile"; formObj.onSubmit = ""; formObj.target = "uploadframe"; formObj.submit(); formObj.action = oldAction; formObj.target = ""; } 改为: function downRemoteFile() { edit_save(); var formObj = $("articleform"); if (formObj != null) { var oldAction = formObj.action; formObj.action = "portal.php?mod=portalcp&ac=upload&op=downremotefile"; } else { formObj = $("ttHtmlEditor"); var oldAction = formObj.action; formObj.action = "home.php?mod=spacecp&ac=upload&op=downremotefile"; } formObj.onSubmit = ""; formObj.target = "uploadframe"; formObj.submit(); formObj.action = oldAction; formObj.target = ""; } 注意这里设定了在日志编辑器里点击该按钮后将编辑器里的内容提交给了服务器的 home.php?mod=spacecp&ac=upload&op=downremotefile 来处理,并将处理结果交给编辑器所在网页的一个名叫 uploadframe 的 iframe。接下来两步设置了与之配套的代码。
3)添加服务器对在日志编辑器里点击该按钮后提交的编辑器里的内容的处理。这是这个功能的关键部分,在这里下载了远程图片并换了日志里远程图片的链接。在文件 source/include/spacecp/spacecp_upload.php 开始部分 if(!defined('IN_DISCUZ')) { exit('Access Denied'); } 后添加一段: if($_GET['op']=='downremotefile') { if(submitcheck('blogsubmit') && helper_access::check_module('blog')) { $upload = new discuz_upload(); $arrayimageurl = $temp = $imagereplace = array(); $string = $_GET['message']; preg_match_all("/\<img.+src=('|\"|)?(.*)(\\1)([\s].*)?\>/ismUe", $string, $temp, PREG_SET_ORDER); if(is_array($temp) && !empty($temp)) { foreach($temp as $tempvalue) { $tempvalue[2] = str_replace('\"', '', $tempvalue[2]); if(strlen($tempvalue[2])){ $arrayimageurl[] = $tempvalue[2]; } } $arrayimageurl = array_unique($arrayimageurl); if($arrayimageurl) { foreach($arrayimageurl as $tempvalue) { $imageurl = $tempvalue; $imagereplace['oldimageurl'][] = $imageurl; $attach['ext'] = $upload->fileext($imageurl); if(!$upload->is_image_ext($attach['ext'])) { continue; } $content = ''; if(preg_match('/^(https?:\/\/|\.)/i', $imageurl)) { $content = dfsockopen($imageurl); } if(empty($content)) continue; $temp = explode('/', $imageurl); $attach['name'] = trim($temp[count($temp)-1]); $_G['setting']['allowwatermark'] = 0; $attach = stream_save($content, 0, 'jpg', $attach['name'], '', 0); $attachs[] = daddslashes($attach); $attach['url'] = ($attach['remote'] ? $_G['setting']['ftp']['attachurl'] : $_G['setting']['attachurl']).'album/'; $imagereplace['newimageurl'][] = $attach['url'].$attach['filepath']; } } } if($imagereplace) { $string = preg_replace(array("/\<(script|style|iframe)[^\>]*?\>.*?\<\/(\\1)\>/si", "/\<!*(--|doctype|html|head|meta|link|body)[^\>]*?\>/si"), '', $string); $string = str_replace($imagereplace['oldimageurl'], $imagereplace['newimageurl'], $string); $string = str_replace(array("\r", "\n", "\r\n"), '', addcslashes($string, '/"\\\'')); print <<<EOF <script type="text/javascript"> var f = parent.window.frames["uchome-ifrHtmlEditor"].window.frames["HtmlEditor"]; f.document.body.innerHTML = '$string'; </script> EOF; } exit(); } } 4)在日志编辑器所在网页添加一个 iframe 来接受服务器处理结果。在文件 template/default/home/spacecp_blog.htm 的最下方的 javascript 代码 <script type="text/javascript"> if($('subject')) { $('subject').focus(); } </script> 前添加 <iframe id="uploadframe" name="uploadframe" width="0" height="0" marginwidth="0" frameborder="0" src="about:blank"></iframe>
2。导入日志

1)添加新按钮所用汉字和相应对话框里的汉字。在文件 source/language/home/lang_editor.php 里添加: 'editor_download_blog' => '下载远程日志', 'editor_prompt_bloglink' => '请输入日志 URL 地址', 2)添加新按钮所用图标。在文件夹 static/image/editor 里加入图片文件 download_blog.gif:
3)在日志编辑器的工具栏里添加新按钮。在文件 source/module/home/home_editor.php 里加入 (可以加在前述"下载远程图片"按钮的后面): <?php if (!$isportal) { ?> <a href="javascript:;" id="icoDownBlog" onClick="downloadBlog(event, 1);return false;" title="<?php echo lang('home/editor', 'editor_download_blog'); ?>" style="background-image: url(static/image/editor/download_blog.gif)"></a> <?php } ?> 4)添加点击该按钮后出现的填写远程日志URL的对话框。在文件 source/module/home/home_editor.php 里这段 <div id="createUrl" class="eMenu" style="display:none;top:35px;left:26px;width:300px;font-size:12px"> <?php echo lang('home/editor', 'editor_prompt_textlink'); ?>:<br/> <input type="text" id="insertUrl" name="url" value="http://" onfocus="checkURL(this, 1);" onblur="checkURL(this, 0);" class="t_input" style="width: 190px;"> <input type="button" onclick="createLink();" name="createURL" value="<?php echo lang('home/editor', 'editor_ok'); ?>" class="submit" /> < a href="javascript:;" onclick="fHide($('createUrl'));return false;"><?php echo lang('home/editor', 'editor_cancel'); ?></a> </div> 后添加: <div id="downloadBlogBox" class="eMenu" style="display:none;top:35px;left:26px;width:300px;font-size:12px"> <?php echo lang('home/editor', 'editor_prompt_bloglink'); ?>:<br /> <input type="text" id="insertBlogUrl" name="url" value="http://" onfocus="checkURL(this, 1);" onblur="checkURL(this, 0);" class="t_input" style="width: 190px;"> <input type="button" onclick="downloadBlog();" name="downloadBlogBox" value="<?php echo lang('home/editor', 'editor_ok'); ?>" class="submit" /> < a href="javascript:;" onclick="fHide($('downloadBlogBox'));return false;"><?php echo lang('home/editor', 'editor_cancel'); ?></a> </div> 5)添加在点击该按钮后显示对话框的代码。在文件 static/image/editor/editor_base.js 里添加下面的函数: function downloadBlog(e, show) { if (typeof show == 'undefined') { var urlObj = $('insertBlogUrl'); var sURL = urlObj.value; if ((sURL != null) && (sURL != "http://")) { parent.downRemoteBlog(sURL); } fHide($('downloadBlogBox')); urlObj.value = 'http://'; } else { if (gIsIE) { var e = window.event; } getCaret(); var dvUrlBox = $("downloadBlogBox"); var iX = e.clientX; var iY = e.clientY; dvUrlBox.style.display = ""; dvUrlBox.style.left = (iX - 300) + "px"; dvUrlBox.style.top = 33 + "px"; } } 6)添加当用户在对话框里填写了远程日志URL并点击确定按钮后,提交该URL给服务器的代码。在文件 static/image/editor/editor_function.js 里添加下面这个函数: function downRemoteBlog(url) { edit_save(); var formObj = $("ttHtmlEditor"); var oldAction = formObj.action; formObj.action = "home.php?mod=spacecp&ac=upload&op=downremoteblog&blogurl=" + encodeURIComponent(url); formObj.onSubmit = ""; formObj.target = "uploadframe"; formObj.submit(); formObj.action = oldAction; formObj.target = ""; } 7)添加服务器对在日志编辑器里点击该按钮后提交的编辑器里的内容的处理。在文件 source/include/spacecp/spacecp_upload.php 开始部分 if(!defined('IN_DISCUZ')) { exit('Access Denied'); } 后添加一段: if($_GET['op']=='downremoteblog') { if(submitcheck('blogsubmit') && helper_access::check_module('blog')) { $subject = $_GET['subject']; $string = $_GET['message']; $blogurl = $_GET['blogurl']; $doc = new DOMDocument; $doc->loadHTMLFile($blogurl); $xpath = new DOMXPath($doc); $entries = $xpath->query('//h1[@class="ph"]'); foreach($entries as $entry) { $blogSubject = $entry->nodeValue; } $entries = $xpath->query('//div[@id="blog_article"]'); foreach($entries as $entry) { $blogContent = get_inner_html($entry); } if($blogContent) { $subject .= $blogSubject; $subject = str_replace(array("\r", "\n", "\r\n"), '', addcslashes($subject, '/"\\\'')); $string .= preg_replace("/\<img.+src=('|\"|)?(.*)(\\1)([\s].*)?\>/ismUe", "get_image_tag('\\2', '$blogurl')", $blogContent); $string = str_replace(array("\r", "\n", "\r\n"), '', addcslashes($string, '/"\\\'')); print <<<EOF <script type="text/javascript"> parent.window.document.getElementById('subject').value = "$subject"; var f = parent.window.frames["uchome-ifrHtmlEditor"].window.frames["HtmlEditor"]; f.document.body.innerHTML = "$string"; </script> EOF; } exit(); } } 8)在文件 source/include/spacecp/spacecp_upload.php 里添加几个上面用到的函数: // http://php.net/manual/de/class.domelement.php function get_inner_html( $node ) { $innerHTML= ''; $children = $node->childNodes; foreach ($children as $child) { $innerHTML .= $child->ownerDocument->saveXML( $child ); } return $innerHTML; } // http://99webtools.com/blog/convert-relative-path-into-absolute-url/ function rel2abs($rel, $base) { if(strpos($rel,"//")===0) return "http:".$rel; if (parse_url($rel, PHP_URL_SCHEME) != '') return $rel; if ($rel[0]=='#' || $rel[0]=='?') return $base.$rel; extract(parse_url($base)); $path = preg_replace('#/[^/]*$#', '', $path); if ($rel[0] == '/') $path = ''; $abs = "$host$path/$rel"; $re = array('#(/.?/)#', '#/(?!..)[^/]+/../#'); for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} return $scheme.'://'.$abs; } function get_image_tag($imageurl, $baseurl) { return "<img src='".rel2abs($imageurl, $baseurl)."'>"; } 9)(如果没做第一部分修改的话) 在日志编辑器所在网页添加一个 iframe 来接受服务器处理结果(与第一部分的4)相同)。

最后总结一下。在日志编辑器的工具栏里添加了"下载远程日志"和"下载远程图片"这两个按钮后,博主可以这样来将发表在其它网站的博文拷贝到本网站:
1)在博文列表页里点击"发表新日志"按钮
2)点击"下载远程日志"按钮,在对话框里填写要下载的其它网站的博文的网址
3)点击"下载远程图片"按钮
4)点击"保存发布"按钮

3/20/2016 补充: 导入日志和评论
HQ问及能否在导入日志时同时导入日志后的评论。 下面讨论下如何修改第二部分来添加一个同时导入评论的选项:


1)修改第二部分中的1): 添加对话框里的汉字。在原来在文件 source/language/home/lang_editor.php 内添加的内容后加上: 'editor_prompt_includecomments' => '同时下载评论', 2)修改第二部分中的4): 添加点击该按钮后出现的填写远程日志URL的对话框。将原来在文件 source/module/home/home_editor.php 里添加的内容改为 : <div id="downloadBlogBox" class="eMenu" style="display:none;top:35px;left:26px;width:320px;font-size:12px"> <?php echo lang('home/editor', 'editor_prompt_bloglink'); ?>: <input type="text" id="insertBlogUrl" name="url" value="http://" onfocus="checkURL(this, 1);" onblur="checkURL(this, 0);" class="t_input" style="width: 190px;"> <br /> <?php echo lang('home/editor', 'editor_prompt_includecomments'); ?>: <input type="checkbox" id="includeComments" name="includeComments" style="margin: 5px;" checked /> < a href="javascript:;" onclick="fHide($('downloadBlogBox'));return false;" style="float: right; margin: 5px;"><?php echo lang('home/editor', 'editor_cancel'); ?></a> <input type="button" onclick="downloadBlog();" name="downloadBlogBox" value="<?php echo lang('home/editor', 'editor_ok'); ?>" class="submit" style="float: right; margin: 5px;" /> </div> 3)修改第二部分中的5): 添加在点击该按钮后显示对话框的代码。将原来在文件在文件 static/image/editor/editor_base.js 里添加的函数 downloadBlog 改为: function downloadBlog(e, show) { if (typeof show == 'undefined') { var sURL = $('insertBlogUrl').value; var includeComments = ($('includeComments').checked)?1:0; if ((sURL != null) && (sURL != "http://")) { parent.downRemoteBlog(sURL, includeComments); } fHide($('downloadBlogBox')); $('insertBlogUrl').value = 'http://'; } else { if (gIsIE) { var e = window.event; } getCaret(); var dvUrlBox = $("downloadBlogBox"); var iX = e.clientX; var iY = e.clientY; dvUrlBox.style.display = ""; dvUrlBox.style.left = (iX - 300) + "px"; dvUrlBox.style.top = 33 + "px"; } } 4)修改第二部分中的6): 添加当用户在对话框里填写了远程日志URL并点击确定按钮后,提交该URL给服务器的代码。将原来在文件 static/image/editor/editor_function.js 里添加的函数 downRemoteBlog 改为: function downRemoteBlog(url, includeComments) { edit_save(); var formObj = $("ttHtmlEditor"); var oldAction = formObj.action; formObj.action = "home.php?mod=spacecp&ac=upload&op=downremoteblog&blogurl=" + encodeURIComponent(url) + "&includecomments=" + includeComments; formObj.onSubmit = ""; formObj.target = "uploadframe"; formObj.submit(); formObj.action = oldAction; formObj.target = ""; } 5)修改第二部分中的7): 添加服务器对在日志编辑器里点击该按钮后提交的编辑器里的内容的处理。将原来在文件 source/include/spacecp/spacecp_upload.php 里添加的内容改为: if($_GET['op']=='downremoteblog') { if(submitcheck('blogsubmit') && helper_access::check_module('blog')) { $subject = $_GET['subject']; $string = $_GET['message']; $blogurl = $_GET['blogurl']; $doc = new DOMDocument; $doc->loadHTMLFile($blogurl); $docbase = $blogurl; foreach($doc->getElementsByTagName('base') as $base) { $docbase = $base->getAttribute('href'); } dom_rel2abs($doc, $docbase); $xpath = new DOMXPath($doc); $entries = $xpath->query('//h1[@class="ph"]'); foreach($entries as $entry) { $blogSubject = $entry->nodeValue; } $entries = $xpath->query('//div[@id="blog_article"]'); foreach($entries as $entry) { if(empty($blogContent)) $blogContent = get_inner_html($entry); } if($blogContent) { $subject = $blogSubject; $subject = str_replace(array("\r", "\n", "\r\n"), '', addcslashes($subject, '/"\\\'')); $string = $blogContent; if($_GET['includecomments']) { $commentCount = 0; // get comment count $entries = $xpath->query('//span[@id="comment_replynum"]'); foreach($entries as $entry) { $commentCount = $entry->nodeValue; } $string .= '<br><br><h3 class="ptn pbn bbs">' . lang('home/template', 'comment'); $string .= ' (' . $commentCount . lang('home/template', 'blog_replay') . ')</h3>'; $comments = ''; // entry page may not be the first page $nextPageUrl = get_first_page($blogurl, $docbase); // loop through all comment pages while ($nextPageUrl) { $doc = new DOMDocument; $doc->loadHTMLFile($nextPageUrl); dom_rel2abs($doc, $docbase); $xpath = new DOMXPath($doc); $entries = $xpath->query('//div[@id="comment_ul"]'); foreach($entries as $entry) { $comments .= preg_replace("/<span class=\"y xw0\">(.*?)<\/span>/is", "", get_inner_html($entry)); } $nextPageUrl = get_next_page($doc); } if ($commentCount && $comments) $string .= '<div class="xld xlda">' . $comments . '</div>'; } $string = str_replace(array("\r", "\n", "\r\n"), '', addcslashes($string, '/"\\\'')); print <<<EOF <script type="text/javascript"> parent.window.document.getElementById('subject').value = "$subject"; var f = parent.window.frames["uchome-ifrHtmlEditor"].window.frames["HtmlEditor"]; f.document.body.innerHTML = "$string"; </script> EOF; } exit(); } } 6)在文件 source/include/spacecp/spacecp_upload.php 里再添加三个上面用到的函数: function dom_rel2abs($doc, $docbase) { $imgs = $doc->getElementsByTagName('img'); foreach($imgs as $img) { $src = $img->getAttribute('src'); $img->setAttribute('src', rel2abs($src, $docbase)); } $as = $doc->getElementsByTagName('a'); foreach($as as $a) { $href = $a->getAttribute('href'); $a->setAttribute('href', rel2abs($href, $docbase)); } } function get_next_page($pageDoc) { $xpath = new DOMXPath($pageDoc); $entries = $xpath->query('//div[@class="pg"]/*'); $getnext = false; foreach($entries as $entry) { if ($getnext) { if ($entry->nodeName=='a') { return $entry->getAttribute('href'); } break; } if ($entry->nodeName=='strong') $getnext = true; } return NULL; } function get_first_page($blogurl, $docbase) { $doc = new DOMDocument; $doc->loadHTMLFile($blogurl); dom_rel2abs($doc, $docbase); $xpath = new DOMXPath($doc); $entries = $xpath->query('//div[@class="pg"]/*'); $firstpage = true; foreach($entries as $entry) { if ($entry->nodeValue=='1') { if ($firstpage) { return $blogurl; } if ($entry->nodeName=='a') { return $entry->getAttribute('href'); } } $firstpage = false; continue; } return $blogurl; } 代码下载: http://www.bian-wang.com/upload/txgz_import_image_and_blog_160408.zip

注:本文中的代码里的<符号如果后面的字符是a的话,在它们中间加了一个不应该有的空格,以避免Discuz在保存日志时自动改变日志内容。

发表评论 评论 (52 个评论)

回复 天香公主 2015-10-15 07:00 AM
忆江南: 你确定是在第一部分的3)中删去了几句代码?我怎么觉得比原来更长了。
没有吧。原来是
if(preg_match('/^(http:\/\/|\.)/i', $imageurl)) {
    $content = dfsockopen($imageurl);
} elseif(checkperm('allowdownlocalimg')) {
    if(preg_match('/^data\/(.*?)\.thumb\.jpg$/i', $imageurl)) {
        $content = file_get_contents(substr($imageurl, 0, strrpos($imageurl, '.')-6));
    } elseif(preg_match('/^data\/(.*?)\.(jpg|jpeg|gif|png)$/i', $imageurl)) {
        $content = file_get_contents($imageurl);
    }
}
这段是从文章编辑器用的portalcp_upload.php里抄来的。现在我把后半段删了,因为那些是关于下载本地图片的,与我讨论的下载远程图片没有直接关系。再说了,它依赖于门户相关里的设置,要在日志里也支持下载本地图片的话,最好还要在空间相关里添加类似设置,看不出下载本地图片有多大意思,就不考虑了。
回复 忆江南 2015-10-15 12:03 AM
天香公主: 欢迎来一起讨论Discuz。

我原以为是一回事,刚看了下两者不同,后者允许复制本站图片,即对正在编辑的文章里用到的本站图片再生成一份本站图片供该文章使用。这 ...
你确定是在第一部分的3)中删去了几句代码?我怎么觉得比原来更长了。
回复 天香公主 2015-10-14 09:51 PM
中间偏右: 谢谢,明白了。此外,你的导入博文,是不是仅仅用于discuz版本的博客,多维,文学城等行吗?再,是否可以导入论坛? ...
我文中写得含糊了点。其实只适用于用Discuz软件建造的网站,还得假定那个网站没有改动相关代码。我在N岸N地各网站里找了几篇博文试过都没问题。

在Discuz网站间将博文导入论坛/论坛贴导入博文/论坛贴导入论坛,我估计也可以类似的做。
回复 中间偏右 2015-10-14 08:25 PM
天香公主: 欢迎来一起讨论Discuz。

我原以为是一回事,刚看了下两者不同,后者允许复制本站图片,即对正在编辑的文章里用到的本站图片再生成一份本站图片供该文章使用。这 ...
谢谢,明白了。此外,你的导入博文,是不是仅仅用于discuz版本的博客,多维,文学城等行吗?再,是否可以导入论坛?
回复 天香公主 2015-10-14 07:18 AM
中间偏右: 1。导入图片,中:
允许下载远程图片: 远程图片本地化保存
下载远程图片的同时允许重新生成一份本地图片

这两个有什么区别? ...
欢迎来一起讨论Discuz。

我原以为是一回事,刚看了下两者不同,后者允许复制本站图片,即对正在编辑的文章里用到的本站图片再生成一份本站图片供该文章使用。这样做估计就是为了生成文章的封面图。我改了下那段话,并在第一部分的3)中删去了几句代码。谢谢!
回复 中间偏右 2015-10-13 10:45 PM
1。导入图片,中:
允许下载远程图片: 远程图片本地化保存
下载远程图片的同时允许重新生成一份本地图片

这两个有什么区别?
回复 天香公主 2015-10-12 11:09 PM
忆江南: lang_editor.php改完后忘记上传了 那个图标我没有注意到文件名中的空格,现在都好了。其他也修改了。你这些新功能应该会大大方便虫姐了   ...
好,现在图标和汉字都看到了。
对,上次她抱怨没法贴图了,我也想不出出了什么问题。
回复 忆江南 2015-10-12 10:53 PM
天香公主: 对,新按钮的图表和汉字都没显示,应该是第二部分1)和2)的问题。关于1),能不能检查一下 source/language/home/lang_editor.php,或者拷贝一份后在文件名 ...
lang_editor.php改完后忘记上传了 那个图标我没有注意到文件名中的空格,现在都好了。其他也修改了。你这些新功能应该会大大方便虫姐了
回复 天香公主 2015-10-12 10:41 PM
忆江南: 我试了一下,功能没问题,非常好用。但不知道为什么导入日志的图标不显示,另外按钮汉字也不显示。可能是 home_editor.php 没改对?我已经上传了,要不你帮我检 ...
对,新按钮的图表和汉字都没显示,应该是第二部分1)和2)的问题。关于1),能不能检查一下 source/language/home/lang_editor.php,或者拷贝一份后在文件名后加个.txt后缀再上传上来看看。关于2),我直接去看那个图片 http://www.bian-wang.com/discuz/static/image/editor/download_blog.gif 也没有,你把我文中的那个图片下载到 /static/image/editor 里并改名为download_blog.gif 吗?

关于第二部分,我其实昨天只试了导入美中网博文,今天把N岸N地都试了,发现原来的代码有两个问题:
1)第二部分的6)中的 url 需要 encode
2)第二部分的7)中原博文中的图片如果用的是相对路径的话都要改成绝对路径才能在新网站里显示
因此我改了第二部分的6),7)和8)的代码,请你把这些部分也更新一下吧,谢谢!
回复 忆江南 2015-10-12 10:13 PM
天香公主: 谢谢。
对,7)和8)是同一个文件,8)中定义的函数可以加在靠近文件尾部的地方。
9)不需要了,如果已加第一部分。 ...
我试了一下,功能没问题,非常好用。但不知道为什么导入日志的图标不显示,另外按钮汉字也不显示。可能是 home_editor.php 没改对?我已经上传了,要不你帮我检查一下。
回复 天香公主 2015-10-12 03:40 PM
忆江南: 这两个功能很好。
8)和7)改的是同一个文件吗?
如果第一部分的4)已经改了,还需要9)吗?
谢谢。
对,7)和8)是同一个文件,8)中定义的函数可以加在靠近文件尾部的地方。
9)不需要了,如果已加第一部分。
回复 忆江南 2015-10-12 02:13 PM
这两个功能很好。
8)和7)改的是同一个文件吗?
如果第一部分的4)已经改了,还需要9)吗?
123

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

小黑屋|Archiver|彼岸网  

Powered by Discuz! X3.1 © 2001-2014 Comsenz Inc.
GMT-4, 2024-3-28 04:28 AM , Processed in 0.066078 second(s), 8 queries. ,ApcOn

返回顶部