我有一个现有模块,我使用{loadposition custom_position}从文章中显示该模块。该文章链接到菜单项。我希望能够从该模块设置自定义页面标题,覆盖菜单项设置的页面标题。
我尝试使用
$document = JFactory::getDocument();
$document->setTitle('Set your title here');
但它没有设置页面标题。
是否可以在模块中设置页面标题,或者只能在组件内完成。
答案 0 :(得分:3)
您编写的代码是正确的,但更改后可能还有其他模块/插件正在更改标题。
您可能希望在设置标题后立即回显标题,例如
$document = JFactory::getDocument();
$document->setTitle('Set your title here');
echo "<h1>" . JFactory::getDocument()->getTitle() . "</h1>";
如果这是正确的,您需要寻找稍后更改它的其他模块/插件。
答案 1 :(得分:0)
答案 2 :(得分:-1)
最简单的方法是设置第二个var,设置你自己的标题,下一行应该是这样的:
client.get(
get_all_item_url,
new JsonHttpResponseHandler() {
@Override
public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable e) {
....
}
@Override
public void onSuccess(JSONArray response) {
ObjectMapper mapper = new ObjectMapper();
ProductModel[] productModels = null;
try {
productModels = mapper.readValue(response.toString(),TypeFactory.defaultInstance().constructArrayType(ProductModel.class));
} catch (IOException e) {
e.printStackTrace();
}
....
}
});
在components / com_content / view / article / view.html.php~第260行更改:
$app->titleoverridden = true;
到
$this->document->setTitle($title);
但请注意,如果您获得更新,可以覆盖它!