Content Uploader批量添加中文文章
Content Uploader是一个不错的joomla批量添加文章组件,它允许你使用csv、txt、xsl等数据表格文件来上传文章,可以设定录入文章的标题、别 名、单元、分类、发布时间、内容等参数。(免费版只支持joomla 1.5平台,收费版的支持Joomla 2.5平台)
当然,它的收费版Content Uploader pro更是功能强大,可以提供更强大的参数控制,而且可以使用多个参数配置表,同时支持文章组件、网站链接、联系人、amdin tools、K2组件等。不过它的价钱就不太友善了,这组件要80欧元,提供一年的更新及服务支持。
下面我们主要是讨论如何使用Content Uploader批量添加joomla的中文文章。
其实添加英文文章的话,只需要到Content Uploader的官方网站看看相关的教程,有问题也可以搜索一下帮助论坛,同时可以下载示例表格文件参考,就应该没啥问题。
但当我们用这个添加中文文章的时候,会发现这组件不能识别中文的标题,这直接导致批量操作失败。(下面讲述的是我的分析步骤,很多只是测试,并不是解决问题的必要步骤)
当我遇到这个问题的时候,第一个反应是修改标题变量,如果开始设置标题变量为C,是否换成{C}就可以呢?因为文章的内容变量一般使用{},这样可以使变量中带有不同的标签。但免费版的Content Uploader并没有配置表,而且后台限制标题字符的输入数量为2,所以不能直接修改。这情况下,我们可以修改administrator/components/com_focontentuploader/views/focontentuploader/tmpl/default.php 文件的第937行左右,
<input class="inputbox" type="text" name="excel[title]" id="title" size="10" maxlength="2" value="<?php echo $title_col; ?>" />
把maxlength的值改成5就可以在后台直接输入{C}。
但经过测试,添加了中括号的标题变量,一样是识别不了中文…
在什么情况下才能让这组件识别中文呢……于是我测试了多种情况,包括中英混合的文章标题,发现系统能识别,但只从英文部分开始。于是我尝试为标题添加特定的字符,让系统能识别标题的内容,但最后又不会添加在标题的内容中。
经过多次测试,证明添加""是可以成功的。于是我执照上面的方法,为标题变量值添加""测试,无论是"C" 、"{C}"还是{"C"},都不能成功;其实通过修改数据库的也直接可以修改配置数据,但依然不能成功。
最后的办法,只能直接修改文章数据表格文件的内容,为每个标题添加一个双引号。手工添加显然是不实际的,所以要使用一些表格批量处理的方法。
例如你的标题内容C列(并且最后一个数据位于C112行),你新建一列是D列,然后在D列输入=""""&C1:C112&"""",然后点击在D1单元格,出现边框时往下拉,就会自动复制C列的数据并添加双引号。不过这样得到的数据,实际上会使标题的添加了双引号,还必须使用另外的文本编辑器打开csv文件,然后使用替换功能把"""替换成",然后保存。
这样整个过程下来,虽然是达到了想要的效果,但有点舍近求远的味道……或许不需要这样处理,或者能直接实现。不过也可以把这当作是熟悉学习的过程。