// Allow to force routes #PSCFV-2592
This commit is contained in:
@@ -519,7 +519,7 @@ class DispatcherCore
|
|||||||
* @param bool $use_routes If false, don't use to create this url
|
* @param bool $use_routes If false, don't use to create this url
|
||||||
* @param string $anchor Optional anchor to add at the end of this url
|
* @param string $anchor Optional anchor to add at the end of this url
|
||||||
*/
|
*/
|
||||||
public function createUrl($route_id, array $params = array(), $use_routes = true, $anchor = '')
|
public function createUrl($route_id, array $params = array(), $force_routes = false, $anchor = '')
|
||||||
{
|
{
|
||||||
if (!isset($this->routes[$route_id]))
|
if (!isset($this->routes[$route_id]))
|
||||||
{
|
{
|
||||||
@@ -541,7 +541,7 @@ class DispatcherCore
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Build an url which match a route
|
// Build an url which match a route
|
||||||
if ($this->use_routes && $use_routes)
|
if ($this->use_routes || $force_routes)
|
||||||
{
|
{
|
||||||
$url = $route['rule'];
|
$url = $route['rule'];
|
||||||
$add_param = array();
|
$add_param = array();
|
||||||
|
|||||||
@@ -736,7 +736,7 @@ class LanguageCore extends ObjectModel
|
|||||||
{
|
{
|
||||||
if (!self::$countActiveLanguages)
|
if (!self::$countActiveLanguages)
|
||||||
self::$countActiveLanguages = Db::getInstance()->getValue('
|
self::$countActiveLanguages = Db::getInstance()->getValue('
|
||||||
SELECT COUNT(*) FROM `'._DB_PREFIX_.'lang` l
|
SELECT COUNT(DISTINCT l.id_lang) FROM `'._DB_PREFIX_.'lang` l
|
||||||
'.Shop::addSqlAssociation('lang', 'l').'
|
'.Shop::addSqlAssociation('lang', 'l').'
|
||||||
WHERE l.`active` = 1
|
WHERE l.`active` = 1
|
||||||
');
|
');
|
||||||
|
|||||||
+3
-2
@@ -76,7 +76,7 @@ class LinkCore
|
|||||||
* @param int $ipa ID product attribute
|
* @param int $ipa ID product attribute
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getProductLink($product, $alias = null, $category = null, $ean13 = null, $id_lang = null, $id_shop = null, $ipa = 0)
|
public function getProductLink($product, $alias = null, $category = null, $ean13 = null, $id_lang = null, $id_shop = null, $ipa = 0, $force_routes = false)
|
||||||
{
|
{
|
||||||
$dispatcher = Dispatcher::getInstance();
|
$dispatcher = Dispatcher::getInstance();
|
||||||
$url = _PS_BASE_URL_.__PS_BASE_URI__;
|
$url = _PS_BASE_URL_.__PS_BASE_URI__;
|
||||||
@@ -129,7 +129,7 @@ class LinkCore
|
|||||||
}
|
}
|
||||||
$anchor = $ipa ? $product->getAnchor($ipa) : '';
|
$anchor = $ipa ? $product->getAnchor($ipa) : '';
|
||||||
|
|
||||||
return $url.$dispatcher->createUrl('product_rule', $params, $this->allow, $anchor);
|
return $url.$dispatcher->createUrl('product_rule', $params, $force_routes, $anchor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -532,6 +532,7 @@ class LinkCore
|
|||||||
{
|
{
|
||||||
if (!$context)
|
if (!$context)
|
||||||
$context = Context::getContext();
|
$context = Context::getContext();
|
||||||
|
var_dump(Language::isMultiLanguageActivated());
|
||||||
if (!$this->allow || !Language::isMultiLanguageActivated())
|
if (!$this->allow || !Language::isMultiLanguageActivated())
|
||||||
return '';
|
return '';
|
||||||
|
|
||||||
|
|||||||
@@ -1491,10 +1491,16 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
// Save and preview
|
// Save and preview
|
||||||
if (Tools::isSubmit('submitAddProductAndPreview'))
|
if (Tools::isSubmit('submitAddProductAndPreview'))
|
||||||
{
|
{
|
||||||
$preview_url = ($this->context->link->getProductLink(
|
$preview_url = $this->context->link->getProductLink(
|
||||||
$this->getFieldValue($this->object, 'id'),
|
$this->getFieldValue($this->object, 'id'),
|
||||||
$this->getFieldValue($this->object, 'link_rewrite', $this->context->language->id),
|
$this->getFieldValue($this->object, 'link_rewrite', $this->context->language->id),
|
||||||
Category::getLinkRewrite($this->getFieldValue($this->object, 'id_category_default'), $this->context->language->id)));
|
Category::getLinkRewrite($this->getFieldValue($this->object, 'id_category_default'), $this->context->language->id),
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
Context::getContext()->shop->id,
|
||||||
|
0,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
if (!$this->object->active)
|
if (!$this->object->active)
|
||||||
{
|
{
|
||||||
@@ -1606,7 +1612,17 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
// Save and preview
|
// Save and preview
|
||||||
if (Tools::isSubmit('submitAddProductAndPreview'))
|
if (Tools::isSubmit('submitAddProductAndPreview'))
|
||||||
{
|
{
|
||||||
$preview_url = $this->context->link->getProductLink($this->getFieldValue($object, 'id'), $this->getFieldValue($object, 'link_rewrite', $this->context->language->id), Category::getLinkRewrite($this->getFieldValue($object, 'id_category_default'), $this->context->language->id), null, null, Context::getContext()->shop->id);
|
$preview_url = $this->context->link->getProductLink(
|
||||||
|
$this->getFieldValue($object, 'id'),
|
||||||
|
$this->getFieldValue($object, 'link_rewrite', $this->context->language->id),
|
||||||
|
Category::getLinkRewrite($this->getFieldValue($object, 'id_category_default'), $this->context->language->id),
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
Context::getContext()->shop->id,
|
||||||
|
0,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
if (!$object->active)
|
if (!$object->active)
|
||||||
{
|
{
|
||||||
$admin_dir = dirname($_SERVER['PHP_SELF']);
|
$admin_dir = dirname($_SERVER['PHP_SELF']);
|
||||||
@@ -2288,10 +2304,27 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
$preview_url = $this->context->link->getProductLink(
|
$preview_url = $this->context->link->getProductLink(
|
||||||
$product,
|
$product,
|
||||||
$this->getFieldValue($product, 'link_rewrite', $this->context->language->id),
|
$this->getFieldValue($product, 'link_rewrite', $this->context->language->id),
|
||||||
Category::getLinkRewrite($product->id_category_default, $this->context->language->id), null, null, Context::getContext()->shop->id);
|
Category::getLinkRewrite($product->id_category_default, $this->context->language->id),
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
Context::getContext()->shop->id,
|
||||||
|
0,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
if (!$product->active)
|
if (!$product->active)
|
||||||
{
|
{
|
||||||
$preview_url = $this->context->link->getProductLink($product, $this->getFieldValue($product, 'link_rewrite', $this->default_form_language), Category::getLinkRewrite($this->getFieldValue($product, 'id_category_default'), $this->context->language->id));
|
$preview_url = $this->context->link->getProductLink(
|
||||||
|
$product,
|
||||||
|
$this->getFieldValue($product, 'link_rewrite', $this->default_form_language),
|
||||||
|
Category::getLinkRewrite($this->getFieldValue($product, 'id_category_default'), $this->context->language->id),
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
Context::getContext()->shop->id,
|
||||||
|
0,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
if (!$product->active)
|
if (!$product->active)
|
||||||
{
|
{
|
||||||
$admin_dir = dirname($_SERVER['PHP_SELF']);
|
$admin_dir = dirname($_SERVER['PHP_SELF']);
|
||||||
|
|||||||
Reference in New Issue
Block a user