使用 Metamod 的 PHP 条件仅在特定 URL 上显示 joomla 模块
Show joomla modules only on specific URL using PHP condition with Metamod
我只需要在 url 包含 "saucony" 的页面上显示模块。
例如,仅在以下页面上显示产品滑块:
/sneakers/woman-sneakers-saucony-dxn-trainer-black-orange-detail
或 /sneakers/woman-sneakers-saucony-jazz-low-pro-vegan。
有很多具有随机名称的 url,因此我无法使用每个产品的完整 URL 路径和 REQUEST_URI 直接手动将它们全部放入条件。
我尝试使用
if ($_SERVER['REQUEST_URI'] == "-saucony"){
$vm = JomGenius("virtuemart");
$cat = $vm->info("category_id");
if ($cat and $vm->check("pagetype startswith productdetails") ) {
$changes->mod(192)
->setParam("virtuemart_category_id",$cat)
->title("Products: " . $vm->info("category_name"))
->showTitle(true);
return 192;
}
}
当前您的外部 if 语句正在检查完整的 URL 路径是否完全等于“-saucony”;它应该检查完整的 URL 路径是否只包含“-saucony”。使用 strpos 搜索包含的字符串元素。
if (strpos($_SERVER["REQUEST_URI"],"-saucony") !== false)
{
// code to load product slider
}
我只需要在 url 包含 "saucony" 的页面上显示模块。 例如,仅在以下页面上显示产品滑块: /sneakers/woman-sneakers-saucony-dxn-trainer-black-orange-detail 或 /sneakers/woman-sneakers-saucony-jazz-low-pro-vegan。 有很多具有随机名称的 url,因此我无法使用每个产品的完整 URL 路径和 REQUEST_URI 直接手动将它们全部放入条件。 我尝试使用
if ($_SERVER['REQUEST_URI'] == "-saucony"){
$vm = JomGenius("virtuemart");
$cat = $vm->info("category_id");
if ($cat and $vm->check("pagetype startswith productdetails") ) {
$changes->mod(192)
->setParam("virtuemart_category_id",$cat)
->title("Products: " . $vm->info("category_name"))
->showTitle(true);
return 192;
}
}
当前您的外部 if 语句正在检查完整的 URL 路径是否完全等于“-saucony”;它应该检查完整的 URL 路径是否只包含“-saucony”。使用 strpos 搜索包含的字符串元素。
if (strpos($_SERVER["REQUEST_URI"],"-saucony") !== false)
{
// code to load product slider
}