Unset имя фронта, установленное модулем в Magento - PullRequest
1 голос
/ 12 марта 2012

Magento имеет эту очень хорошую систему MVC, где модули могут зарегистрировать свое «имя фронта» и тому подобное.

К сожалению, это приводит к загрязнению вашего сайта множеством повторяющихся URL-адресов для одной и той же страницы, если вы используете несколько магазинов и заставляете код магазина отображаться в URI. Это эффективно сделает модуль доступным в каждом представлении магазина «root», а также в главном корне magento.

Итак, я хочу избавиться от этих имен, созданных для меня модулем. Я все еще использую объекты, предоставленные модулем, но я просто не хочу, чтобы он также использовал контроллер, поставляемый им (я построил свои собственные блоки для загрузки соответствующих данных).

Итак, мой вопрос довольно прост, Допустим, у меня есть что-то вроде этого в модуле пула кода сообщества / etc / config.xml:

    <routers>
        <faq>
            <use>standard</use>
            <args>
                <module>Faq</module>
                <frontName>faq</frontName>
            </args>
        </faq>
    </routers>

Как сделать переопределение / настройку в моем локальном кодовом пуле, который в основном отменяет / отключает это имя, чтобы оно не было найдено при вызове?

В качестве альтернативы возможно предотвратить загрузку контроллеров с именами фронтов в корнях представлений хранилища, если включена опция отображения кода в URI?

Ответы [ 2 ]

0 голосов
/ 13 марта 2012

Я не уверен, в чем ваша точка зрения.Похоже, у вас есть проблемы с SEO (с вашим упоминанием о двойных URL)

  1. У вас есть выбор не , чтобы объявить маршрутизатор для вашегопользовательский модуль
  2. Вы можете просто включить канонические URL-адреса, и все, что стоит индексировать (категории / продукты / cms), будет иметь правильный URL-адрес
  3. Вы можете запретить доступ к этим URL-адресам, используя robots.txt

Если это не удастся, вы можете использовать радикальный (и, казалось бы, бессмысленный) подход, чтобы сбросить зарегистрированный маршрут.Расширение ...

Mage_Core_Controller_Varien_Front

Позволит вам контролировать защищенные маршруты по своему усмотрению.

0 голосов
/ 13 марта 2012

Я предлагаю вам взглянуть на таблицу core_url_rewrite в Magento. Вы должны быть в состоянии перезаписать URL-адреса, заданные в коде модулями. Это не совсем сбивает с толку, но это один из способов обойти эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...