? ? Success

User tests: Successful: Unsuccessful:

avatar Hackwar
Hackwar
3 Jan 2015

This PR implements a rule for URLs with missing Itemid as a generic rule for all component routers that extend from JComponentRouterView.

How to test

  • Apply this change
  • Change the router of com_content by replacing
class ContentRouter extends JComponentRouterBase
{

with

class ContentRouter extends JComponentRouterView
{
    function __construct($app = null, $menu = null) {

        $categories = new JComponentRouterViewconfiguration('categories');
        $categories->setKey('id');
        $this->registerView($categories);
        $category = new JComponentRouterViewconfiguration('category');
        $category->setKey('id')->setParent($categories, 'id')->setNestable()->addLayout('blog');
        $this->registerView($category);
        $article = new JComponentRouterViewconfiguration('article');
        $article->setKey('id')->setParent($category, 'catid');
        $this->registerView($article);
        $this->registerView(new JComponentRouterViewconfiguration('archive'));
        $this->registerView(new JComponentRouterViewconfiguration('featured'));
    $this->registerView(new JComponentRouterViewconfiguration('form'));

        parent::__construct($app, $menu);
        $this->attachRule(new JComponentRouterRulesMenu($this));
        $this->attachRule(new JComponentRouterRulesNomenu($this));
    }

    public function getCategorySegment($id, $query)
    {
        $category = JCategories::getInstance($this->getName())->get($id);
        if ($category)
        {
            return array_reverse($category->getPath());
        }

        return array();
    }

    public function getCategoriesSegment($id, $query)
    {
        return $this->getCategorySegment($id, $query);
    }

    public function getArticleSegment($id, $query)
    {
        return array($id);
    }
  • Comment line 62 and 111 from /components/com_content/helpers/route.php to disable the lookup of the Itemid there.
  • See that the right menu items are still found for the items
  • See that URLs without an Itemid are created properly and return a page that does not throw an error code. Please notice that this currently will display all other URLs of com_content still as mostly non-SEF. That behavior will come in another rule.

This was updated on May 22nd 2015. All discussions prior to that point have either been integrated or are obsolete.

This was made possible through the generous donation of the people mentioned in the following link via an Indiegogo campaign: http://joomlager.de/crowdfunding/5-contributors

avatar Hackwar Hackwar - open - 3 Jan 2015
avatar jissues-bot jissues-bot - change - 3 Jan 2015
Labels Added: ?
avatar zero-24 zero-24 - change - 3 Jan 2015
Category Router / SEF
avatar joomla-cms-bot joomla-cms-bot - change - 23 May 2015
Labels Added: ?
avatar Hackwar
Hackwar - comment - 23 May 2015

I've updated this PR to work with the changed JComponentRouterView class. Please test.

avatar Duke3D
Duke3D - comment - 24 Jul 2015

Is this still active? If so, I suggest a companion PR with patch for the listed code changes needed to implement the test conditions.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/5599.

avatar Duke3D Duke3D - test_item - 24 Jul 2015 - Not tested
avatar Hackwar
Hackwar - comment - 24 Jul 2015

@Duke3D What do you mean with companion PR and what not? And this is still active, yes.

avatar Hackwar
Hackwar - comment - 24 Jul 2015

Please be aware that all comments above mine from May 23rd have either been incorporated into this or do not apply here. Those come from several cross merges.

avatar Hackwar
Hackwar - comment - 2 Aug 2015

I've combined the changes from this and all other routing related PRs into a new PR: #7615 Please review and comment in the new PR. I'm closing this one, so that we can focuse on the new PR.

avatar Hackwar Hackwar - change - 2 Aug 2015
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2015-08-02 16:22:14
Closed_By Hackwar
avatar Hackwar Hackwar - close - 2 Aug 2015
avatar Hackwar Hackwar - head_ref_deleted - 6 Jan 2016

Add a Comment

Login with GitHub to post a comment