Introduce ungleich Header with Background and Image Slider plugin
This commit is contained in:
		
					parent
					
						
							
								0ca4a83860
							
						
					
				
			
			
				commit
				
					
						9beacd6f6a
					
				
			
		
					 5 changed files with 137 additions and 1 deletions
				
			
		|  | @ -5,7 +5,9 @@ from .models import ( | |||
|     UngelichContactUsSection, UngelichTextSection, Service, ServiceItem, | ||||
|     About, AboutItem, SectionWithImage, UngleichServiceItem, UngleichHeader, | ||||
|     UngleichHeaderItem, UngleichProductItem, UngleichProduct, UngleichCustomer, | ||||
|     UngleichCustomerItem, UngleichHTMLOnly, UngleichSimpleHeader | ||||
|     UngleichCustomerItem, UngleichHTMLOnly, UngleichSimpleHeader, | ||||
|     UngleichHeaderWithBackgroundImageSlider, | ||||
|     UngleichHeaderWithBackgroundImageSliderItem | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
|  | @ -224,6 +226,41 @@ class UngleichHeaderItemPlugin(CMSPluginBase): | |||
|         return context | ||||
| 
 | ||||
| 
 | ||||
| @plugin_pool.register_plugin | ||||
| class UngleichHeaderBackgroundImageAndTextSliderPlugin(CMSPluginBase): | ||||
|     name = "ungleich Header with Background and Image Slider Plugin" | ||||
|     model = UngleichHeaderWithBackgroundImageSlider | ||||
|     render_template = ( | ||||
|         'ungleich_page/ungleich/header_with_background_image_slider.html' | ||||
|     ) | ||||
|     cache = False | ||||
|     allow_children = True | ||||
|     child_classes = ['UngleichHeaderBackgroundImageAndTextItemPlugin'] | ||||
| 
 | ||||
|     def render(self, context, instance, placeholder): | ||||
|         context['instance'] = instance | ||||
|         return context | ||||
| 
 | ||||
| 
 | ||||
| @plugin_pool.register_plugin | ||||
| class UngleichHeaderBackgroundImageAndTextItemPlugin(CMSPluginBase): | ||||
|     name = "ungleich Header with Background and Image and Text Item Plugin" | ||||
|     model = UngleichHeaderWithBackgroundImageSliderItem | ||||
|     render_template = ( | ||||
|         'ungleich_page/ungleich/_header_with_background_image_slider_item.html' | ||||
|     ) | ||||
|     cache = False | ||||
|     require_parent = True | ||||
|     parent_classes = ['UngleichHeaderBackgroundImageAndTextSliderPlugin'] | ||||
| 
 | ||||
|     def render(self, context, instance, placeholder): | ||||
|         context = super( | ||||
|             UngleichHeaderBackgroundImageAndTextItemPlugin, self | ||||
|         ).render(context, instance, placeholder) | ||||
|         context['instance'] = instance | ||||
|         return context | ||||
| 
 | ||||
| 
 | ||||
| @plugin_pool.register_plugin | ||||
| class UngleichProductsPlugin(CMSPluginBase): | ||||
|     name = "ungleich Products Plugin" | ||||
|  |  | |||
|  | @ -0,0 +1,43 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| # Generated by Django 1.9.4 on 2017-12-02 07:30 | ||||
| from __future__ import unicode_literals | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| import django.db.models.deletion | ||||
| import djangocms_text_ckeditor.fields | ||||
| import filer.fields.image | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('filer', '0004_auto_20160328_1434'), | ||||
|         ('cms', '0014_auto_20160404_1908'), | ||||
|         ('ungleich_page', '0015_ungleichsimpleheader'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.CreateModel( | ||||
|             name='UngleichHeaderWithBackgroundImageSlider', | ||||
|             fields=[ | ||||
|                 ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')), | ||||
|                 ('carousel_data_interval', models.IntegerField(default=2000)), | ||||
|             ], | ||||
|             options={ | ||||
|                 'abstract': False, | ||||
|             }, | ||||
|             bases=('cms.cmsplugin',), | ||||
|         ), | ||||
|         migrations.CreateModel( | ||||
|             name='UngleichHeaderWithBackgroundImageSliderItem', | ||||
|             fields=[ | ||||
|                 ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')), | ||||
|                 ('description', djangocms_text_ckeditor.fields.HTMLField(default='<div class="intro-cap">We  Design, Configure & Maintain <br>Your Linux Infrastructure</div><p class="intro_lead">Ruby on Rails, Django, Java, Webserver, Mailserver, any infrastructure that needs to configured, we provide comprehensive solutions. Amazon, rackspace or bare metal servers, we configure for you.</p><p style="text-align: right;"><a class="btn btn-trans" href="">Learn More</a></p>')), | ||||
|                 ('background_image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ungleich_header_slider_item_image', to='filer.Image')), | ||||
|             ], | ||||
|             options={ | ||||
|                 'abstract': False, | ||||
|             }, | ||||
|             bases=('cms.cmsplugin',), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -124,6 +124,27 @@ class UngleichHeader(CMSPlugin): | |||
|     carousel_data_interval = models.IntegerField(default=5000) | ||||
| 
 | ||||
| 
 | ||||
| class UngleichHeaderWithBackgroundImageSliderItem(CMSPlugin): | ||||
|     background_image = FilerImageField( | ||||
|         null=True, blank=True, | ||||
|         related_name="ungleich_header_slider_item_image", | ||||
|         on_delete=models.SET_NULL | ||||
|     ) | ||||
|     description = HTMLField( | ||||
|         default='<div class="intro-cap">We  Design, Configure & Maintain ' | ||||
|                 '<br>Your Linux Infrastructure</div><p class="intro_lead">' | ||||
|                 'Ruby on Rails, Django, Java, Webserver, Mailserver, any ' | ||||
|                 'infrastructure that needs to configured, we provide ' | ||||
|                 'comprehensive solutions. Amazon, rackspace or bare metal ' | ||||
|                 'servers, we configure for you.</p><p style="text-align: ' | ||||
|                 'right;"><a class="btn btn-trans" href="">Learn More</a></p>' | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| class UngleichHeaderWithBackgroundImageSlider(CMSPlugin): | ||||
|     carousel_data_interval = models.IntegerField(default=2000) | ||||
| 
 | ||||
| 
 | ||||
| class UngleichHeaderItem(CMSPlugin): | ||||
|     image = FilerImageField( | ||||
|         null=True, | ||||
|  |  | |||
|  | @ -0,0 +1,4 @@ | |||
| <div class="bg_img" style="background-image:url({{ instance.background_image.url }})"></div> | ||||
| <div class="container"> | ||||
|   {{ instance.description }} | ||||
| </div> | ||||
|  | @ -0,0 +1,31 @@ | |||
| {% load cms_tags %} | ||||
| <header class="header_slider"> | ||||
|   <div id="carousel-header-ungleich" class="carousel slide" data-interval="{{ instance.carousel_data_interval}}"> | ||||
|     <!-- Indicators --> | ||||
|       {% if instance.child_plugin_instances|length > 1  %} | ||||
|         <ol class="carousel-indicators"> | ||||
|           {% for plugin in instance.child_plugin_instances %} | ||||
|               <li data-target="#carousel-header-ungleich" data-slide-to="{{forloop.counter0}}" {% if forloop.counter0 == 0 %}class="active" {% endif %}></li> | ||||
|           {% endfor %} | ||||
|         </ol> | ||||
|       {% endif %} | ||||
|     <!-- Wrapper for slides --> | ||||
|     <div class="carousel-inner" role="listbox"> | ||||
|         {% for plugin in instance.child_plugin_instances %} | ||||
|         <div class="item {% if forloop.counter0 == 0 %}active{% endif %}"> | ||||
|           {% render_plugin plugin %} | ||||
|         </div> | ||||
|         {% endfor %} | ||||
|     </div> | ||||
|       {% if instance.child_plugin_instances|length > 1  %} | ||||
|     <a class="left carousel-control" href="#carousel-header-ungleich" role="button" data-slide="prev"> | ||||
|       <span class="fa fa-angle-left" aria-hidden="true"></span> | ||||
|       <span class="sr-only">Previous</span> | ||||
|     </a> | ||||
|     <a class="right carousel-control" href="#carousel-header-ungleich" role="button" data-slide="next"> | ||||
|       <span class="fa fa-angle-right" aria-hidden="true"></span> | ||||
|       <span class="sr-only">Next</span> | ||||
|     </a> | ||||
|       {% endif %} | ||||
|   </div> | ||||
| </header> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue