Joomla:一次为所有文章重新生成别名



我在一个Joomla 3.2.1网站和客户端工作,不加思考,为所有文章输入相同的别名,而不是让系统使用文章标题。所以现在如果我想打开SEF URL,我们将来会有404问题。

我想一次重新保存或重新生成所有的文章别名(批处理)。

有办法吗?也许在MYSQL数据库?

提前感谢。

$alias = JApplication::stringURLSafe($article->title);

Joomla将在保存文章时生成别名。我不知道有任何批处理joomla功能来重新生成所有别名,我也有兴趣了解这一点。

如果不存在其他批处理解决方案,您应该手动更新这些字段。

在数据库中,您可以对所有文章运行更新查询,但是您必须逐一键入每个更新查询。

单行的更新查询如下:

UPDATE jos_content
SET alias='my-new-alias-name'
WHERE id='{id-of-the-article}'

对于一次多行,您可以这样做:

UPDATE jos_content
SET alias = CASE id
    WHEN 1 THEN 'alias1'
    WHEN 2 THEN 'alias2'
    WHEN 3 THEN 'alias3'
END
WHERE id IN (1,2,3)

你可以做的是使用mysql删除数据库中所有文章的别名数据。然后创建一个标签,比如"fixalias"。使用批处理特性标记带有该标记的所有文章。这将为您的所有文章运行store()并自动生成别名。然后从标签管理器中删除该标签。你ar

类似的策略还包括删除所有别名,但批量移动(不复制)您的文章到临时类别,然后将它们移回来。

最新更新