我正在使用Joomla 3.2.1网站,客户端不假思索地输入所有文章的相同别名,而不是让系统使用文章标题。所以,现在如果我想打开SEF URL,我们将来会遇到404问题。
我想立即重新保存或重新生成所有文章别名(批处理)。
有办法吗?在MYSQL DB中可能吗?
提前谢谢。
答案 0 :(得分:1)
$alias = JApplication::stringURLSafe($article->title);
答案 1 :(得分:0)
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)
答案 2 :(得分:0)
您可以做的是使用mysql从数据库中的所有文章中删除别名数据。然后制作一个标签,比如“fixalias”。使用批处理功能标记具有该标记的所有文章。 这将为您的所有文章运行store()并自动生成别名。然后从标记管理器中删除标记。你好
类似的策略还包括删除所有别名,但批量移动(不要复制)您的文章到临时类别,然后再移回它们。