本文整理汇总了PHP中XLite\Core\Converter::getCleanURLAllowedCharsPattern方法的典型用法代码示例。如果您正苦于以下问题:PHP Converter::getCleanURLAllowedCharsPattern方法的具体用法?PHP Converter::getCleanURLAllowedCharsPattern怎么用?PHP Converter::getCleanURLAllowedCharsPattern使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XLite\Core\Converter
的用法示例。
在下文中一共展示了Converter::getCleanURLAllowedCharsPattern方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCleanURLPattern
/**
* Clean URL pattern
*
* @return string
*/
protected function getCleanURLPattern()
{
return '/^' . \XLite\Core\Converter::getCleanURLAllowedCharsPattern() . '$/S';
}
示例2: getURLByCleanURL
/**
* Get canonical URL by clean URL
*
* @param string $path Clean url
*
* @return string
*/
public function getURLByCleanURL($path)
{
$cleanURL = null;
if (preg_match('/(' . \XLite\Core\Converter::getCleanURLAllowedCharsPattern() . ')\\.html?$/Si', $path, $parts)) {
$product = \XLite\Core\Database::getRepo('XLite\\Model\\Product')->findOneByCleanURL($parts[1]);
if (isset($product)) {
$cleanURL = $this->buildCleanURL('product', '', array('product_id' => $product->getProductId()));
}
} else {
$parts = preg_split('\'/\'', $path, 2, PREG_SPLIT_NO_EMPTY);
$category = \XLite\Core\Database::getRepo('XLite\\Model\\Category')->findOneByCleanURL($parts[0]);
if (isset($category)) {
$params = array('category_id' => $category->getCategoryId());
if (!empty($parts[1])) {
$query = \Includes\Utils\Converter::parseQuery($parts[1], '-', '/');
if (is_array($query)) {
$params += $query;
}
}
$cleanURL = $this->buildCleanURL('category', '', $params);
}
}
return $cleanURL;
}