Stepping through the page middleware which handles assigning the page
variable will probably shed some light:

https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/pages/middleware.py#L91-L124


On Tue, Apr 22, 2014 at 6:09 PM, PR <[email protected]> wrote:

> On Monday, April 21, 2014 12:30:16 PM UTC-4, Eduardo Rivas wrote:
>>
>> The blog app defines it's own url patterns. For example, the list view
>> (showing all blog posts) is mapped to /blog by default.
>>
> It seem to be that the blog app defines "/" to be the list view in its
> urls.py. Mezzanine includes the blog's urls.py, adding the BLOG_SLUG prefix.
>
> The app I am integrating also defines it's own urls. I simply included
> these in my project's urls.py(above the mezzanine catch-all):
>
>     ("^pastes/", include('dpaste.urls.dpaste')),
>
>
> Then I created a RichTextPage with the name "Pastes" and no parent to
> match this url. I can successfully visit the dpaste app from the added
> navigation link. When I remove the dpaste url include, I can successfully
> visit the RichTextPage.
>
>
>> The trick is in creating a page in the admin with the exact same slug.
>> You have to do this to get Mezzanine to insert the page variable into your
>> context. In the end, Mezzanine will merge both the context provided by the
>> page and the context of your own application.
>>
> My problem is that I have created the page with the slug but Mezzanine is
> not inserting the page variable into my context, so the navigation link
> does not receive an "active" class.
>
>
>>
>> I've done this in the past with a custom Portfolio app and the
>> integration is seamless. If you want to inspect your template context, list
>> of templates and other useful debugging info in your browser, you should
>> use Django Debug Toolbar. Install it with pip install django-debug-tollbar,
>> Mezzanine will activate it automatically when it detects it's installed;
>> you should then get a small button in the top-right corner of your site
>> when running in the development server.
>>
> Yes I've done all this, thats how I was able to see that the template was
> not being passed the "page" context variable...
>
>
> Here is a related screenshot:
>
> <https://lh4.googleusercontent.com/-lKB3QXJ_Ud8/U1YijWBoSOI/AAAAAAAAAJ0/qqZqhwwT3PU/s1600/2014-04-22-040313_1366x768_scrot.png>
> You can see that a "Pastes" page exists and that the browser is visiting
> the "/pastes/" url, however the "Pastes" link is not shaded as active(and
> yes the theme does define a different color for "active" tabs, it works
> fine for the blog app).
>
> The breadcrumb only exists because I hardcoded it into the template, which
> would be unneeded if the page variable was inserted.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Mezzanine Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Stephen McDonald
http://jupo.org

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to