How to pass store code to custom URL in magento 2How to get Magento 2 base URL?Custom URL for magento extensionRemoving Magento Store URLs Param ?__store=How to get Magento root url properly?module pass custom url parametersMagento 2.1.1: How can we add Payment Information (custom payment) to an order?Getting URL for Products only works for first storeMagento 2: How to get secure category URL programmatically?How to know if module's output is disabled in magento 2?Magento 2.2.3 How to change validation message Or add new custom rule in system config fieldMagento 2.3.0 How to add store filter in searchCriteriaBuilder

What would a Dragon have to exhale to cause rain?

Five Powers of Fives Produce Unique Pandigital Number...Solve for X..Tell me Y

How long do Aarakocra live?

Roman Numerals Equation 2

What color to choose as "danger" if the main color of my app is red

Is there an academic word that means "to split hairs over"?

How does the Heat Metal spell interact with a follow-up Frostbite spell?

Could a space colony 1g from the sun work?

Physically unpleasant work environment

How to continually and organically let my readers know what time it is in my story?

Who is frowning in the sentence "Daisy looked at Tom frowning"?

Working hours and productivity expectations for game artists and programmers

How to pass store code to custom URL in magento 2

Given 0s on Assignments with suspected and dismissed cheating?

AD: OU for system administrator accounts

Does a non-singular matrix have a large minor with disjoint rows and columns and full rank?

Is Precocious Apprentice enough for Mystic Theurge?

Why is so much ransomware breakable?

Quadratic/polynomial problem

What kind of environment would favor hermaphroditism in a sentient species over regular, old sexes?

What technology would Dwarves need to forge titanium?

Iterate lines of string variable in bash

What are the effects of eating many berries from the Goodberry spell per day?

Why does string strummed with finger sound different from the one strummed with pick?



How to pass store code to custom URL in magento 2


How to get Magento 2 base URL?Custom URL for magento extensionRemoving Magento Store URLs Param ?__store=How to get Magento root url properly?module pass custom url parametersMagento 2.1.1: How can we add Payment Information (custom payment) to an order?Getting URL for Products only works for first storeMagento 2: How to get secure category URL programmatically?How to know if module's output is disabled in magento 2?Magento 2.2.3 How to change validation message Or add new custom rule in system config fieldMagento 2.3.0 How to add store filter in searchCriteriaBuilder






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I would like to add store code to a custom URL in Magento 2.3.0



Actually, I want to pass store code to a custom URL in my custom module based on relevant store order.



Let's take an example:



public function getCustomUrl($orderData) 
if($this->emailHelper->dynamicUrl())
return $this->urlInterface->getUrl($this->emailHelper->dynamicUrl()).'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
else
return $this->urlInterface->getUrl('route/controller/index/'.'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());




In the above code




  • $orderData = order object i can get storeId in this object


  • $this->emailHelper->dynamicUrl() = get custom string from system config


  • $orderData->getIncrementId() = pass orderId to url params


  • $this->getFollowUpId() = module custom table ID pass to url params.

Above code, the result is http://example.com/default/seo/oId/000000112/fId/179 where /default/ is store code. I would like to pass /store2Code/ instead of/default/where/store2Code/` is order placed on store 2.



So in short pass store code based on the placed order store.



Note : I have enabled pass store code to URL from system config. so the reason for this store code is showing in URL.



Any help would be appreciated! Thanks.










share|improve this question






















  • Maybe you can try like this $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();

    – magefms
    1 hour ago











  • It is working fine when you use this in frontend but when you use for backend operation like cron or admin area it is not working.

    – Chirag Patel
    1 hour ago











  • haven't tried it before but maybe setting the current store first using setCurrentStore($storeId); will make it work?

    – magefms
    1 hour ago

















1















I would like to add store code to a custom URL in Magento 2.3.0



Actually, I want to pass store code to a custom URL in my custom module based on relevant store order.



Let's take an example:



public function getCustomUrl($orderData) 
if($this->emailHelper->dynamicUrl())
return $this->urlInterface->getUrl($this->emailHelper->dynamicUrl()).'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
else
return $this->urlInterface->getUrl('route/controller/index/'.'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());




In the above code




  • $orderData = order object i can get storeId in this object


  • $this->emailHelper->dynamicUrl() = get custom string from system config


  • $orderData->getIncrementId() = pass orderId to url params


  • $this->getFollowUpId() = module custom table ID pass to url params.

Above code, the result is http://example.com/default/seo/oId/000000112/fId/179 where /default/ is store code. I would like to pass /store2Code/ instead of/default/where/store2Code/` is order placed on store 2.



So in short pass store code based on the placed order store.



Note : I have enabled pass store code to URL from system config. so the reason for this store code is showing in URL.



Any help would be appreciated! Thanks.










share|improve this question






















  • Maybe you can try like this $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();

    – magefms
    1 hour ago











  • It is working fine when you use this in frontend but when you use for backend operation like cron or admin area it is not working.

    – Chirag Patel
    1 hour ago











  • haven't tried it before but maybe setting the current store first using setCurrentStore($storeId); will make it work?

    – magefms
    1 hour ago













1












1








1








I would like to add store code to a custom URL in Magento 2.3.0



Actually, I want to pass store code to a custom URL in my custom module based on relevant store order.



Let's take an example:



public function getCustomUrl($orderData) 
if($this->emailHelper->dynamicUrl())
return $this->urlInterface->getUrl($this->emailHelper->dynamicUrl()).'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
else
return $this->urlInterface->getUrl('route/controller/index/'.'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());




In the above code




  • $orderData = order object i can get storeId in this object


  • $this->emailHelper->dynamicUrl() = get custom string from system config


  • $orderData->getIncrementId() = pass orderId to url params


  • $this->getFollowUpId() = module custom table ID pass to url params.

Above code, the result is http://example.com/default/seo/oId/000000112/fId/179 where /default/ is store code. I would like to pass /store2Code/ instead of/default/where/store2Code/` is order placed on store 2.



So in short pass store code based on the placed order store.



Note : I have enabled pass store code to URL from system config. so the reason for this store code is showing in URL.



Any help would be appreciated! Thanks.










share|improve this question














I would like to add store code to a custom URL in Magento 2.3.0



Actually, I want to pass store code to a custom URL in my custom module based on relevant store order.



Let's take an example:



public function getCustomUrl($orderData) 
if($this->emailHelper->dynamicUrl())
return $this->urlInterface->getUrl($this->emailHelper->dynamicUrl()).'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
else
return $this->urlInterface->getUrl('route/controller/index/'.'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());




In the above code




  • $orderData = order object i can get storeId in this object


  • $this->emailHelper->dynamicUrl() = get custom string from system config


  • $orderData->getIncrementId() = pass orderId to url params


  • $this->getFollowUpId() = module custom table ID pass to url params.

Above code, the result is http://example.com/default/seo/oId/000000112/fId/179 where /default/ is store code. I would like to pass /store2Code/ instead of/default/where/store2Code/` is order placed on store 2.



So in short pass store code based on the placed order store.



Note : I have enabled pass store code to URL from system config. so the reason for this store code is showing in URL.



Any help would be appreciated! Thanks.







module url helper magento2.3.0






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 2 hours ago









Chirag PatelChirag Patel

2,950524




2,950524












  • Maybe you can try like this $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();

    – magefms
    1 hour ago











  • It is working fine when you use this in frontend but when you use for backend operation like cron or admin area it is not working.

    – Chirag Patel
    1 hour ago











  • haven't tried it before but maybe setting the current store first using setCurrentStore($storeId); will make it work?

    – magefms
    1 hour ago

















  • Maybe you can try like this $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();

    – magefms
    1 hour ago











  • It is working fine when you use this in frontend but when you use for backend operation like cron or admin area it is not working.

    – Chirag Patel
    1 hour ago











  • haven't tried it before but maybe setting the current store first using setCurrentStore($storeId); will make it work?

    – magefms
    1 hour ago
















Maybe you can try like this $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();

– magefms
1 hour ago





Maybe you can try like this $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();

– magefms
1 hour ago













It is working fine when you use this in frontend but when you use for backend operation like cron or admin area it is not working.

– Chirag Patel
1 hour ago





It is working fine when you use this in frontend but when you use for backend operation like cron or admin area it is not working.

– Chirag Patel
1 hour ago













haven't tried it before but maybe setting the current store first using setCurrentStore($storeId); will make it work?

– magefms
1 hour ago





haven't tried it before but maybe setting the current store first using setCurrentStore($storeId); will make it work?

– magefms
1 hour ago










3 Answers
3






active

oldest

votes


















1














Use store emulation (MagentoStoreModelAppEmulation) to set store for backend operation and Try below code.



return $this->storeManagerInterface->getStore()->getBaseUrl().$this->emailHelper->dynamicUrl().'/oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();


It should work.






share|improve this answer




















  • 1





    Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

    – Chirag Patel
    1 hour ago


















1














I guess this can help you https://magento.stackexchange.com/a/84982/45214 .



In the above link, the BaseUrl is already obtained from storemanager and it will return the store's baseurl. If you have enabled the configuration from the backend to display store_code (for ex. en_US) along with the BaseUrl in the URL, then it will return the BaseUrl/store_code/ as Base Url.



Hope this will be helpful.






share|improve this answer























  • I have already seen this reference url but it's not relevant what i want.

    – Chirag Patel
    1 hour ago











  • +1 for your efforts :)

    – Chirag Patel
    1 hour ago


















0














You can try using MagentoStoreModelStoreManagerInterface



/**
* @var MagentoStoreModelStoreManagerInterface
*/
protected $storeManager;

public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoStoreModelStoreManagerInterface $storeManager
)

$this->storeManager = $storeManager;
parent::__construct($context);



And you can get current store url and code in your function:



public function getCustomUrl($orderData) 
if($this->emailHelper->dynamicUrl())
return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
else
return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());







share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "479"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f274787%2fhow-to-pass-store-code-to-custom-url-in-magento-2%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Use store emulation (MagentoStoreModelAppEmulation) to set store for backend operation and Try below code.



    return $this->storeManagerInterface->getStore()->getBaseUrl().$this->emailHelper->dynamicUrl().'/oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();


    It should work.






    share|improve this answer




















    • 1





      Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

      – Chirag Patel
      1 hour ago















    1














    Use store emulation (MagentoStoreModelAppEmulation) to set store for backend operation and Try below code.



    return $this->storeManagerInterface->getStore()->getBaseUrl().$this->emailHelper->dynamicUrl().'/oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();


    It should work.






    share|improve this answer




















    • 1





      Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

      – Chirag Patel
      1 hour ago













    1












    1








    1







    Use store emulation (MagentoStoreModelAppEmulation) to set store for backend operation and Try below code.



    return $this->storeManagerInterface->getStore()->getBaseUrl().$this->emailHelper->dynamicUrl().'/oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();


    It should work.






    share|improve this answer















    Use store emulation (MagentoStoreModelAppEmulation) to set store for backend operation and Try below code.



    return $this->storeManagerInterface->getStore()->getBaseUrl().$this->emailHelper->dynamicUrl().'/oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();


    It should work.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 29 mins ago









    Chirag Patel

    2,950524




    2,950524










    answered 2 hours ago









    Yash ShahYash Shah

    1,05629




    1,05629







    • 1





      Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

      – Chirag Patel
      1 hour ago












    • 1





      Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

      – Chirag Patel
      1 hour ago







    1




    1





    Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

    – Chirag Patel
    1 hour ago





    Try this but it will return without store code like this http://example.com/oId/2000000058/fId/192

    – Chirag Patel
    1 hour ago













    1














    I guess this can help you https://magento.stackexchange.com/a/84982/45214 .



    In the above link, the BaseUrl is already obtained from storemanager and it will return the store's baseurl. If you have enabled the configuration from the backend to display store_code (for ex. en_US) along with the BaseUrl in the URL, then it will return the BaseUrl/store_code/ as Base Url.



    Hope this will be helpful.






    share|improve this answer























    • I have already seen this reference url but it's not relevant what i want.

      – Chirag Patel
      1 hour ago











    • +1 for your efforts :)

      – Chirag Patel
      1 hour ago















    1














    I guess this can help you https://magento.stackexchange.com/a/84982/45214 .



    In the above link, the BaseUrl is already obtained from storemanager and it will return the store's baseurl. If you have enabled the configuration from the backend to display store_code (for ex. en_US) along with the BaseUrl in the URL, then it will return the BaseUrl/store_code/ as Base Url.



    Hope this will be helpful.






    share|improve this answer























    • I have already seen this reference url but it's not relevant what i want.

      – Chirag Patel
      1 hour ago











    • +1 for your efforts :)

      – Chirag Patel
      1 hour ago













    1












    1








    1







    I guess this can help you https://magento.stackexchange.com/a/84982/45214 .



    In the above link, the BaseUrl is already obtained from storemanager and it will return the store's baseurl. If you have enabled the configuration from the backend to display store_code (for ex. en_US) along with the BaseUrl in the URL, then it will return the BaseUrl/store_code/ as Base Url.



    Hope this will be helpful.






    share|improve this answer













    I guess this can help you https://magento.stackexchange.com/a/84982/45214 .



    In the above link, the BaseUrl is already obtained from storemanager and it will return the store's baseurl. If you have enabled the configuration from the backend to display store_code (for ex. en_US) along with the BaseUrl in the URL, then it will return the BaseUrl/store_code/ as Base Url.



    Hope this will be helpful.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 2 hours ago









    Kazim NooraniKazim Noorani

    1,0871723




    1,0871723












    • I have already seen this reference url but it's not relevant what i want.

      – Chirag Patel
      1 hour ago











    • +1 for your efforts :)

      – Chirag Patel
      1 hour ago

















    • I have already seen this reference url but it's not relevant what i want.

      – Chirag Patel
      1 hour ago











    • +1 for your efforts :)

      – Chirag Patel
      1 hour ago
















    I have already seen this reference url but it's not relevant what i want.

    – Chirag Patel
    1 hour ago





    I have already seen this reference url but it's not relevant what i want.

    – Chirag Patel
    1 hour ago













    +1 for your efforts :)

    – Chirag Patel
    1 hour ago





    +1 for your efforts :)

    – Chirag Patel
    1 hour ago











    0














    You can try using MagentoStoreModelStoreManagerInterface



    /**
    * @var MagentoStoreModelStoreManagerInterface
    */
    protected $storeManager;

    public function __construct(
    MagentoFrameworkAppActionContext $context,
    MagentoStoreModelStoreManagerInterface $storeManager
    )

    $this->storeManager = $storeManager;
    parent::__construct($context);



    And you can get current store url and code in your function:



    public function getCustomUrl($orderData) 
    if($this->emailHelper->dynamicUrl())
    return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
    else
    return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());







    share|improve this answer



























      0














      You can try using MagentoStoreModelStoreManagerInterface



      /**
      * @var MagentoStoreModelStoreManagerInterface
      */
      protected $storeManager;

      public function __construct(
      MagentoFrameworkAppActionContext $context,
      MagentoStoreModelStoreManagerInterface $storeManager
      )

      $this->storeManager = $storeManager;
      parent::__construct($context);



      And you can get current store url and code in your function:



      public function getCustomUrl($orderData) 
      if($this->emailHelper->dynamicUrl())
      return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
      else
      return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());







      share|improve this answer

























        0












        0








        0







        You can try using MagentoStoreModelStoreManagerInterface



        /**
        * @var MagentoStoreModelStoreManagerInterface
        */
        protected $storeManager;

        public function __construct(
        MagentoFrameworkAppActionContext $context,
        MagentoStoreModelStoreManagerInterface $storeManager
        )

        $this->storeManager = $storeManager;
        parent::__construct($context);



        And you can get current store url and code in your function:



        public function getCustomUrl($orderData) 
        if($this->emailHelper->dynamicUrl())
        return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
        else
        return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());







        share|improve this answer













        You can try using MagentoStoreModelStoreManagerInterface



        /**
        * @var MagentoStoreModelStoreManagerInterface
        */
        protected $storeManager;

        public function __construct(
        MagentoFrameworkAppActionContext $context,
        MagentoStoreModelStoreManagerInterface $storeManager
        )

        $this->storeManager = $storeManager;
        parent::__construct($context);



        And you can get current store url and code in your function:



        public function getCustomUrl($orderData) 
        if($this->emailHelper->dynamicUrl())
        return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId();
        else
        return $this->storeManager->getStore()->getStoreUrl().'/'.$this->storeManager->getStore()->getCode().'oId/'.$orderData->getIncrementId().'/fId/'.$this->getFollowUpId());








        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 1 hour ago









        magefmsmagefms

        3,0773631




        3,0773631



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Magento Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f274787%2fhow-to-pass-store-code-to-custom-url-in-magento-2%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

            Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

            199年 目錄 大件事 到箇年出世嗰人 到箇年死嗰人 節慶、風俗習慣 導覽選單