Skip to main content

DjangoCMS plugin for embedding menus in placeholders

Project description

## DjangoCMS Embedded Menu

This simple extension allows you to place menus in placeholders via the
administration interface.


## Requirements

* django-cms
* And all the requirements the above project(s) depend on.


## Installation

1. make sure you are using a python virtual environment

virtualenv ~/Dev/virtualenv/projectname;
. ~/Dev/virtualenv/projectname/bin/activate;
cd ~/Dev/projects/projectname/;

2. install it from pypi

`pip install cmsplugin-embedded-menu`

3. or, install it from github

`pip install git+https://github.com/airtonix/cmsplugin-embedded-menu`

## Configuration

1. add `cmsplugin_embeddedmenu` to your `INSTALLED_APPS`

2. perform a `./manage.py migrate` (for south users), or `./manage.py syncdb`

3. There is no step three!


## Override Template

Choosing a template in the administration interface means that you
populate the following two relative paths (to any of your app template dirs)
with templates you desire to be made available.

* cmsplugin_embeddedmenu/layouts

Any .html file that doesn't contain the word 'base' will be presented in
the template selector combo dropdown in the admin interface.

For example, if your django project was at :

`~/Dev/Django/MyProjectName/`

And you had a django application named `SomethingSomethingSomething` at :

`~/Dev/Django/MyProjectName/SomethingSomethingSomething/`

Then templates for this plugin could be found at :

`~/Dev/Django/MyProjectName/SomethingSomethingSomething/templates/cmsplugin_embeddedmenu/layouts/*.html`

In fact, anywhere django looks for templates, you can place the following tree :

```
/cmsplugin_embeddedmenu
/layouts
/*.html
```

### Customising Templates

Templates in all groups are provided the context :

a CMSPlugin has many useful attributes for you to use, the main one
is `plugin.instance` a reference to the settings model.

> plugin' :
> An instance of CMSPlugin, which itself provides reference to either
> of the settings models as outlined below.

#### base.html

base.html in the `cmsplugin_configurableproduct` directory is used to load the
selected template chosen in the administration interface.


#### ./layouts/*.html

templates here are provided the context :

> plugin.instance
> template
> Chosen template.
>



## Contributions

anyone is free to contribute, simply submit a merge request at
github : http://github.com/airtonix/cmsplugin-configurableproduct


## Todo

provide option to manipulate menu choices:

* Refine the product filter.
* Provide better default templates.
* Allow selecting/use of snippets for menu templates?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmsplugin-embedded-menu-0.0.7.tar.gz (9.8 kB view details)

Uploaded Source

File details

Details for the file cmsplugin-embedded-menu-0.0.7.tar.gz.

File metadata

File hashes

Hashes for cmsplugin-embedded-menu-0.0.7.tar.gz
Algorithm Hash digest
SHA256 7e7d4e78f7cb8391a0128fb8b70bfd6a7df3413905ffb5373a3d594e75fe34cb
MD5 c593923aecebdd6f9b3f6682491e19fd
BLAKE2b-256 ce2973ee0d390aff71b7744155ae227f1453cf2bc68a647031905e6a4717a07b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page