Currently, I'm using Webkul extension for multi vendor. So the seller collection is available following link : http://example.com/marketplace/seller/profile/shopname But, I want to change this url like this: http://example.com/shopname

Please help needed. Thanks in advance.

closed as off-topic by Fabian Schmengler, Raphael at Digital Pianism, mbalparda, Qaisar Satti, Amit Bera Apr 5 '16 at 15:29

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about third-party modules are generally off-topic because the scope of functionality and code are not available. For more information, see this meta post/answer." – Fabian Schmengler, Raphael at Digital Pianism, mbalparda, Qaisar Satti, Amit Bera
If this question can be reworded to fit the rules in the help center, please edit the question.

Without seeing the code I will do my best to answer. What you need to do is setup a new route and in that controller in the indexAction method you need to call the current method with any parameters.

So in Magento a URL is structured as follows:

$base/$controller/$method/$parameters e.g. catalog/product/view/id/1 would be Mage_Catalog_ProductController->viewAction() and $_GET['id'] = 1

So if you take your current URL it could be

  1. marketplace = controller
  2. seller = method
  3. profile - parameter key
  4. shopname = parameter value

It could also be that the controller is a sub directory calling the shopName method or the indexMethod.

So if you were to create a custom controller you create a module and do the following.

1. Register the route

In your etc/config.xml file you would add the following (change colin_core to vendor_package name)

<config>
    <frontend>
        <routers>
            <colin_core>
                <use>standard</use>
                <args>
                    <module>Colin_Core</module>
                    <frontName>shopname</frontName>
                </args>
            </colin_core>
        </routers>
    </frontend>
</config>

2. Create Controller

So you need to create your IndexController under app/code/local/Vendor/Package/controllers/IndexController.php

So in the example below I am loading a product with an ID of 1. You need to replace the controller path and the code with Controller you are calling the code from and also the method with params you need to call.

//@TODO replace controller
require_once 'Mage/Catalog/controllers/ProductController.php';

class Colin_Core_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        //@TODO replace code
        $this->getRequest()->setParam('id', 1);
        $controller = new Mage_Catalog_ProductController(
            $this->getRequest(),
            $this->getResponse()
        );
        $controller->viewAction();
    }
}

Please note that if you don't pass in a request and a response they would both be set to null when you call the controller.

  • if i need like this http://example.com/market/shopname Then what can i do? – Abdus Salam Mar 14 '16 at 5:46
  • What you need to do is change frontName to market in the config.xml and change indexAction to shopnameAction. – Colin Murphy Mar 14 '16 at 8:33

That can be done using vendor profile as described in the user guide of the module Please check http://webkul.com/blog/magento-multi-seller-marketplace/#wkid7 also Please check the screenshot for more detail enter image description here

Vendors can edit the urls as per their choice . Still have any doubt or query please let us know at our support ticket system http://webkul.uvdesk.com/

Note - We are the developer of webkul's magento marketplace multi vendor module . We are not self promoting our product as customer asked the question specifically about webkul's product thats why we are describing with links

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