Comment trouver la voie d'une page en cours?
Est-il une ligne de code que je peux utiliser dans le contrôleur qui détermine l'itinéraire d'une page en cours?
Par exemple, je voudrais trouver la voie de la page avec la SEO url https://example.com/desktops
(ce qui devrait revenir la route product/category
).
De même, une url telle que https://example.com/index.php?route=product/product&path=18&product_id=47
devrait itinéraire de retour comme product/product
.
Vous devez vous connecter pour publier un commentaire.
Pour être honnête, la bonne réponse est
$this->request->get['route'];
.Pour rattraper l'itinéraire actuel, vous pouvez utiliser
$this->request->get['route'];
dans lecatalog/controller/common/header.php
fichier dans leindex()
fonction.Header.php
est une partie de pratiquement n'importe quelle interface de sortie (ce que je comprends, pour l'instant vous n'êtes pas sûr de ce contrôleur est utilisé danshttp://example.com/desktops
vous devez donc l'endroit idéal où vous pouvez exécuter votre code en tout cas).Le module SEO ne pas annuler cette partie de la objet de demande. Aussi, gardez à l'esprit, au milieu de OpenCart de génération de code de la
$_GET
tableau et le$this->request->get
tableau n'est pas la même chose. On ne prends pas la route actuelle (dans "chemin/controller/action" format) dans $_GET superglobale tableau php lorsque le module SEO est dans l'action, mais vous pouvez vous rattraper avec n'importe quel contrôleur en utilisant$this->request->get
tableau qui est préparé pour vous par OpenCart moteur.Ceci est fait par l'interrogation de la
url_alias
table pour le mot-clé spécifique pour vous donner l'un des quatre ID qui viennent avec l'installation standard (product_id
,category_id
,information_id
etmanufacturer_id
) ainsi que la valeur de l'id séparés par un=
.Dans vos postes de travail exemple, il serait quelque chose comme
category_id=20
. À partir de là, vous avez besoin de travailler sur la routeVous pouvez trouver exactement de la même façon OpenCart n'est présent dans le fichier
/catalog/controller/common/seo_url.php
EDIT:
Dans le contrôleur nous avons
$this->request->get['route']
.seo_url.php:
_route_
. Je vois cette clé dans ma var_export($_REQUEST); dans mon index.php_route_
vous donnera de mots-clés, cependant ce n'est toujours pas fournir l'itinéraire$this->request->get['route']
qui contiennent ce que nous voulons. N'est-ce pas?