Como obter o URL base seguro sem index.php

10

Eu quero ficar base-secure-urlsem index.php.

Eu ativei index.phppor algum motivo. Agora eu tenho um arquivo PHP no diretório raiz do Magento e quero chamar páginas seguras do Magento a partir deste arquivo PHP.

Nota: tenho várias lojas no meu site

Por favor, forneça mais idéias sobre isso.

Amit Bera
fonte
você pode me dizer o caminho para isso? Mage :: getStoreConfig (Mage_Core_Model_Url :: XML_PATH_SECURE_URL); Desculpe. Eu sou novo no magento
Sandy
Se você tiver uma nova pergunta, faça-o clicando no botão Fazer pergunta . Inclua um link para esta pergunta se ela ajudar a fornecer contexto. - Do comentário
Jai
Isso não fornece uma resposta para a pergunta. Depois de ter reputação suficiente, você poderá comentar qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do solicitante . - Da avaliação
Rohan Hapani

Respostas:

15
Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL);

Menciono isso porque ninguém mais o fez, mas prefiro usar Mage::getUrlor Mage::getBaseUrl. Os dois detectam automaticamente se a página já está segura quando você não a especifica.

clockworkgeek
fonte
é trabalhar em múltiplas loja com diferentes nome de domínio
Amit Bera
Você pode especificar uma loja com o segundo parâmetro de getStoreConfig. Ele aceita um ID, um código (conforme definido em admin) ou um Mage_Core_Model_Storeobjeto, basta usar o que você tem disponível no seu código.
clockworkgeek
2
Substituir 'Mago :: getUrl' com 'Mago :: getBaseURL' fez o truque para mim
Ronny
11

como @Aphroz disse, você pode usar

Mage::getBaseUrl( Mage_Core_Model_Store::URL_TYPE_WEB, true );

para recuperar o URL base seguro. Isso retorna um URL seguro, porque o especificamos por meio do segundo parâmetro true. Aqui o primeiro parâmetro é especificado como Mage_Core_Model_Store::URL_TYPE_WEB. Isso significa que o método retorna o valor correspondente a este campo de configuração do sistema web/secure/base_url. Este campo é o valor que especificamos em

 System  >  Configuration  > Web  >  Secure url

portanto, se esse campo não estiver sendo usado index.phpjunto com o URL base, o método não fornecerá index.php junto com o URL. Se for o caso index.php, ele retornará o mesmo. Portanto, para garantir que index.php não esteja lá, você pode usar a str_replacefunção

Rajeev K Tomy
fonte
Eu sou o único que acha que isso é um bug no Magento? O sistema deve saber quando estou em um URL seguro e, em seguida, usar como padrão todo o seu Mage :: getBaseUrl () para garantir.
Gerfried 23/02
5

Abaixo da lista de acesso ao URL

Obter URLs em páginas CMS ou blocos estáticos

  1. URL base:

    {{base url=''}}
  2. URL da loja:

    {{store url='test.html'}}

    também armazenar apenas URL

    {{store url=""}}
  3. URL da mídia:

    obter apenas o URL da mídia

    {{media url=''}}

    se você receber algum caminho de pasta

    {{media url='imagefolder/imagename.jpg'}}
  4. URL da capa:

    {skin url='images/imagename.jpg'}}

    obter apenas o URL da capa

    {skin url=''}}


Obter URLs em arquivos PHP (incluindo modelos / PHTML)

  1. Obtenha o URL base no magento:

    $baseurl = Mage::getBaseUrl();

    Obtenha o URL base sem index.php

    Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
    
    // output: http://example.com/
  2. URL atual

    $currentUrl = Mage::helper('core/url')->getCurrentUrl();

    ou

    $currentUrl = Mage::getUrl('*/*/*', array('_current' => true));

    ou

    if (!in_array(Mage::app()->getFrontController()->getAction()->getFullActionName(), array('cms_index_noRoute', 'cms_index_defaultNoRoute'))) 
    {
        $currentUrl = Mage::helper('core/url')->getCurrentUrl();
    }
  3. URL da capa:

    $skinUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);

    URL inseguro da capa:

    $skinUrl = $this->getSkinUrl('images/imagename.jpg');

    URL seguro da capa:

    $this->getSkinUrl('images/imagename.gif', array('_secure'=>true));
  4. URL de mídia

    $mediaUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);

    ou

    $mediaUrl = Mage::getBaseUrl('media');
  5. Obter URL do Js:

    $jsUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);

    ou

    $jsUrl = Mage::getBaseUrl('js');
  6. obter URL da loja:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. URL da página inicial:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. Obter caminhos de diretório

    Mage::getBaseDir('design') // Get design directory path
    Mage::getBaseDir('code')   // Gives code directory file path
    Mage::getBaseDir('lib')    // Gives lib directory file path
    Mage::getBaseDir('skin')   // Gives skin directory file path
    Mage::getBaseDir('var')    // Gives var directory file path
    Mage::getBaseDir('cache')  // Gives cache directory file path
    Mage::getBaseDir('log')    // Gives log directory file path
  9. Criar URL do módulo:

    Mage::getUrl('module/controller/action');

Obtenha mais detalhes sobre obter URLs

Kailas
fonte
3

Isso deve fazer o truque:

Mage::getBaseUrl('link',true);

Curto e grosso.

Milan Simek
fonte
Essa é a abordagem mais sólida, uma vez que vai incluir qualquer store_code a url, se esse for o caso
Raul Sanchez
1

Você não pode usar isso?

str_replace('index.php','whatever.php',Mage::getBaseUrl('web', true));
Aphroz
fonte
2
Cara, isso não é maneira correta ....
Amit Bera
1
Então Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB, true) conforme mencionado aqui: stackoverflow.com/questions/15002254/…
Aphroz
não dar resultado quando eu usei url seguro
Amit Bera
Não certeza, mas arquivo .htaccess pode ser útil
Trimantra Solution Software