0.0.34 show slides

This commit is contained in:
SDE
2023-12-06 14:52:41 +03:00
parent 7bb8ef33e6
commit ee1a94b0ef
6 changed files with 66 additions and 19 deletions

View File

@@ -143,9 +143,17 @@ class BaseModelViewPage(BaseModel):
blocks = GenericRelation('GeneralApp.Block', related_query_name='grel_%(class)s_for_block_item') blocks = GenericRelation('GeneralApp.Block', related_query_name='grel_%(class)s_for_block_item')
slides = GenericRelation('SlidesApp.Slide', related_query_name='grel_%(class)s_for_block_item')
class Meta: class Meta:
abstract = True abstract = True
def get_slides(self):
return self.slides.filter(enable=True).order_by('order')
def get_FAQ_items(self):
return self.FAQ_items.filter(enable=True).order_by('order')
def get_blocks(self): def get_blocks(self):
return self.blocks.filter(enable=True).order_by('order') return self.blocks.filter(enable=True).order_by('order')

View File

@@ -6,6 +6,7 @@ from django.forms import widgets
from super_inlines.admin import SuperInlineModelAdmin, SuperModelAdmin from super_inlines.admin import SuperInlineModelAdmin, SuperModelAdmin
from GeneralApp.admin import Admin_StackedInline_Block from GeneralApp.admin import Admin_StackedInline_Block
from SlidesApp.admin import Admin_StackedInline_Slide from SlidesApp.admin import Admin_StackedInline_Slide
from django.utils.translation import gettext as _
def sets_for_formfield_for_dbfield(field, db_field): def sets_for_formfield_for_dbfield(field, db_field):
if db_field.name == 'url' or db_field.name == 'name' or db_field.name == 'title' or db_field.name == 'name_plural': if db_field.name == 'url' or db_field.name == 'name' or db_field.name == 'title' or db_field.name == 'name_plural':
@@ -57,6 +58,12 @@ class Admin_Section(SuperModelAdmin, Admin_Trans_BaseModelViewPage):
'order', 'order',
) )
}), }),
(_('Дополнительно'), {
'classes': ['wide', 'collapse'],
'fields': (
'FAQ_title',
)
}),
('SEO', { ('SEO', {
'classes': ['wide', 'collapse'], 'classes': ['wide', 'collapse'],
'fields': ( 'fields': (
@@ -86,7 +93,8 @@ class Admin_Section(SuperModelAdmin, Admin_Trans_BaseModelViewPage):
inlines = [ inlines = [
Admin_StackedInline_Slide, Admin_StackedInline_Slide,
Admin_StackedInline_BlockPluginPresentation, Admin_StackedInline_BlockPluginPresentation,
Admin_StackedInline_Block Admin_StackedInline_Block,
AdminStacked_FAQitem,
] ]
def has_delete_permission(self, request, obj=None): def has_delete_permission(self, request, obj=None):

View File

@@ -1,4 +1,5 @@
from .models import * from .models import *
from django.utils.translation import gettext as _
def get_sections(): def get_sections():

View File

@@ -1,25 +1,30 @@
{% load static %} {% load static %}
{% load i18n %} {% load i18n %}
<div class="cut-width">
<div class="container_content_faq"> {% if page.get_FAQ_items %}
<div class="large_txt faq"> <div class="cut-width">
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ <div class="container_content_faq">
</div> <div class="large_txt faq">
<div class="faqs_container"> {% if not page.FAQ_title %}ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ{% else %}{{ page.FAQ_title }}{% endif %}
<div class="faq_container close"> </div>
<div class="first_line_faq pointer" onclick="faq_open_close()"> {% for FAQ_item in page.get_FAQ_items %}
<div class="container_content_first_line"> <div class="faqs_container">
<div class="name_faq">Lorem ipsum dolor sit amet consectetur?</div> <div class="faq_container close">
<div class="faq_icon"> <div class="first_line_faq pointer" onclick="faq_open_close()">
<img class="faq_icon_img" width="15px" src="{% static "images/faq_icon.svg" %}"> <div class="container_content_first_line">
<div class="name_faq">{{ FAQ_item.question }}</div>
<div class="faq_icon">
<img class="faq_icon_img" width="15px" src="{% static "images/faq_icon.svg" %}">
</div>
<div class="clear_both"></div>
</div>
</div>
<div class="faq_content standart_txt">
{{ FAQ_item.answer|safe }}
</div> </div>
<div class="clear_both"></div>
</div> </div>
</div> </div>
<div class="faq_content standart_txt"> {% endfor %}
Lorem ipsum dolor sit amet consectetur. Enim convallis vulputate nam commodo. In varius orci ultrices aliquam penatibus vitae facilisi. Magna odio est justo aliquam tristique ullamcorper mi. Mi nulla tellus nunc sed. Faucibus tristique feugiat blandit ipsum donec. Commodo elit sit placerat diam tristique. Nunc enim erat magna bibendum egestas interdum eu id urna.
</div>
</div>
</div> </div>
</div> </div>
</div> {% endif %}

View File

@@ -1,3 +1,24 @@
{% if page.get_slides %}
<div>
{% for slide in page.get_slides %}
<div>
<img src="{{ MEDIA_URL }}{{ slide.picture }}" alt="{{ slide.name }}" />
{% if slide.name or slide.description %}
<div>
{% if slide.name %}
<div>{{ slide.name }}</div>
{% endif %}
{% if slide.description %}
<div>{{ slide.description|linebreaksbr }}</div>
{% endif %}
</div>
{% endif %}
</div>
{% endfor %}
</div>
{% endif %}
{% include 'blocks/dynamic/b_sections_buttons.html' %} {% include 'blocks/dynamic/b_sections_buttons.html' %}
<div class="cut-width"> <div class="cut-width">

View File

@@ -30,7 +30,11 @@
{% endblock %} {% endblock %}
</div> </div>
{% include 'blocks/b_faq.html' %} {% include 'blocks/b_faq.html' %}
{% include 'blocks/b_footer.html' %} {% include 'blocks/b_footer.html' %}
</body> </body>
</html> </html>