2010-12-14 6 views
4

Nous exécutons une installation Magento sur plusieurs domaines et utilisons un script pour extraire des informations de la base de données pour aider les utilisateurs à filtrer les produits. Dans notre codage nous avons la fonction $_SERVER appelant le magasin qui semble être le magasin 1 (qui est sur le domaine 1), je me demandais ce que je devrais changer pour aller chercher les informations du magasin 2 (qui est sur le domaine 2).Magento - Récupère le domaine actuel et pas le domaine de base

+0

Parlez-vous de l'obtenir url de base du magasin ? –

+0

Voulez-vous dire que vous voulez utiliser le domaine pour déterminer à quel magasin vous allez accéder? – Chris

Répondre

14
echo Mage::getBaseUrl(); 

retournera l'URL du magasin uniquement, c'est-à-dire abc.com/store1.

Pour obtenir l'URL du magasin principal (nom de domaine), utilisez le code suivant

echo Mage::getBaseUrl (Mage_Core_Model_Store::URL_TYPE_WEB); 

OU

vous pouvez obtenir le domaine actuel par le $_SERVER['HTTP_HOST'];

0

Tout d'abord, $ _SERVER n'est pas une fonction, mais une variable prédéfinie (tableau associatif). Une fois que vous aurez accédé au site depuis le domaine 2, $ _SERVER ['SERVER_NAME'] vous donnera la bonne chose. Tout dépend du domaine auquel vous accédez au serveur. J'utilise actuellement ceci pour un site Web de revendeur que j'ai qui a beaucoup de domaines parqués.

Espérons que cela aide.

À la votre!

-1

Si vous avez plusieurs domaines alors probablement que vous avez plusieurs magasins. Plutôt que de lire le domaine pour déterminer quel magasin vous pouvez juste lire le magasin directement:

$store = Mage::app()->getStore() 

$store a alors toutes les informations dont vous avez besoin. Par exemple, pour récupérer le « code de magasin » que vous définissez dans l'utilisation d'administration,

$store->getCode() 

En plus d'être orienté objet et donc plus facile à écrire, vous bénéficiez des domaines étant entièrement configurable par admin, il ne sera pas nécessaire de réécrire votre code chaque fois qu'il y a un changement.

0

Sachez que $ _SERVER [ « SERVER_NAME »] ne sont pas disponibles sur les tâches ordonnanceur Magento (cron) (sauf si vous mettez un peu d'effort là-dessus) - vient de réaliser aujourd'hui

Questions connexes