1

I'm working on Magento CE 1.9.2.2 site and want to change the URL to the Wishlist that comes with Magento.

I tried to copy app/code/core/Mage/Wishlist/etc/config.xml to app/code/local/Mage/Wishlist/etc/config.xml and change the following:

<routers>
    <wishlist>
        <use>standard</use>
        <args>
            <module>Mage_Wishlist</module>
            <frontName>moodboard</frontName>
        </args>
    </wishlist>
</routers>

The intention is to change the URL to /moodboard as opposed to /wishlist.

This doesn't work. However if I edit the core version of the file (in app/code/core/) it works.

I've disabled the cache, reindexed, etc etc and it doesn't work.

Obviously I don't want to edit core code so am trying to make my changes in app/code/local. Why doesn't it work?

0

I’ll give this a stab.

Copying files from core -> local will work for files that are autoloaded. The modules config.xml is not autoloaded it is instead defined the the app/etc/modules/Whatever_Whatever.xml file which specifies the code pool from which to load the module from.

If you simply want to overwrite the xml you could do the following steps

  1. Create a new module called Namespace_Wishlist
  2. Make that module depend on Mage_Wishlist in the app/etc/modules/Namespace_Wishlist.xml file. This is so that it is loaded after Mage_Wishlist.
  3. Define the same xml that you have above in your new modules app/code/local/Namespace/Wishlist/etc/config.xml.

When magento merges the global config, your modules should overwrite the core values.

  • I tried this and it didn't work. Making a new module, just to change the URL used by another module, seems a little backward to me. – Andy F Apr 14 '16 at 12:51
  • It is a little backwards but you have to leverage how XML is merged if you want to avoid touching core files. Are you sure your custom module is installed correctly? Don't forget you will have to clear the config cache. – Luke Rodgers Apr 14 '16 at 14:06
  • 1
    Sorry, to complicate matters further there was actually a third party wishlist extension installed and I believe this is configured to use the URL /wishlist. That possibly explains why my initial modification didn't work - as it wasn't using the standard Magento functionality. I'm not sure if I set things up correctly according to your instructions, but I managed to override the URL in app/etc/local.xml (see Answer as a comment on my question). Thanks for your advice though. – Andy F Apr 14 '16 at 15:02
  • Cool. Yeah that answer does a similar thing under the hood. I just try to keep my local.xml clean and only to define how the site is connecting to databases and where to store sessions etc. I usually try and store changes like this in the app/code structure so that it can easily be shared and discovered by developers. – Luke Rodgers Apr 14 '16 at 15:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.