* Navigation in Sidebar

* Seitenbaum: Jugendreisen und Reisemagazin mit einbeziehen; Ursprüngliche Sortierung berücksichtigen
* Neue Datenbank-Spalten für automatisch generierte Seitenübersichtsboxen und Datenbank
* Unterstützung statisch festgelegter URLs (page.real_url_path) - wird aus SEO-technischen Gründen benötigt, um vorerst die alten URLs zu behalten
* Redirect-Tabelle: Hier können alte URLs mit page-Einträge verknüpft werden. Bei Aufruf so einer URL wird auf die URL der verknüpften page umgeleitet

SQL:

UPDATE page SET template = 'overview' WHERE slug IN ('iran-reisen', 'marokko-urlaub');
UPDATE page SET `order` = 0 WHERE slug = 'aegypten-reisen';
UPDATE page SET `order` = 1 WHERE slug = 'israel-reisen';
UPDATE page SET `order` = 2 WHERE slug = 'jordanien-reisen';
UPDATE page SET `order` = 3 WHERE slug = 'iran-reisen';
UPDATE page SET `order` = 4 WHERE slug = 'marokko-urlaub';
UPDATE page SET `order` = 5 WHERE slug = 'oman-reisen';
UPDATE page SET `order` = 6 WHERE slug = 'tuerkei-urlaub';

UPDATE page SET template = 'overview' WHERE
  (slug IN ('jugendreisen', 'reisemagazin') AND lvl = 0) OR
  (catalog_id IN (6, 14) AND owner = 0);

-- Request URL /create-tree in browser to re-create the page tree

ALTER TABLE page ADD COLUMN real_url_path VARCHAR(200) DEFAULT NULL;
CREATE UNIQUE INDEX UNIQ_140AB620E2652A2A ON page (real_url_path);
UPDATE page p INNER JOIN catalog c ON c.id = p.catalog_id SET p.real_url_path = CONCAT('/', c.slug, '/', p.slug, '.html');

ALTER TABLE page ADD COLUMN box_body TEXT DEFAULT NULL;
ALTER TABLE page ADD COLUMN box_image_url VARCHAR(200) DEFAULT NULL;
ALTER TABLE page ADD COLUMN box_star VARCHAR(255) DEFAULT NULL;
ALTER TABLE page ADD COLUMN box_discount VARCHAR(255) DEFAULT NULL;
ALTER TABLE page ADD COLUMN content_new TEXT DEFAULT NULL AFTER content;

ALTER TABLE page DROP COLUMN preview_image_url;

CREATE TABLE redirect (id INT AUTO_INCREMENT NOT NULL, page_id INT DEFAULT NULL, source_url_path VARCHAR(200) NOT NULL, UNIQUE INDEX UNIQ_C30C9E2B56207465 (source_url_path), INDEX IDX_C30C9E2BC4663E4 (page_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE redirect ADD CONSTRAINT FK_C30C9E2BC4663E4 FOREIGN KEY (page_id) REFERENCES page (id);
ALTER TABLE redirect MODIFY COLUMN page_id INT NOT NULL;



git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3293 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
uli 2017-02-15 15:36:15 +00:00
parent 03f50fc03c
commit 6bb5c271c6
15 changed files with 596 additions and 125 deletions

View file

@ -19,23 +19,60 @@
<div class="navbar-inner">
<div id="navbar-collapse" class="navbar-left navbar-collapse collapse clearfix">
<ul class="nav navbar-nav">
<li itemprop="name"><a href="#" title="" itemprop="url">Kulturreisen</a></li>
<li itemprop="name"><a href="#" title="" itemprop="url">Usedom Ferienwohnungen</a></li>
<li itemprop="name"><a href="#" title="" itemprop="">Kulturreisen</a></li>
<li itemprop="name">
<a href="https://www.stern-usedom.de" title="Usedom Ferienwohnungen" itemprop="url"
target="_blank"
>
Usedom Ferienwohnungen
</a>
</li>
<li class="dropdown openClick" itemprop="name"><a itemprop="url" href="#" title="" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-menu27"></i></a>
<ul class="dropdown-menu" role="menu">
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Rundreisen</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Nilkreuzfahrten</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Badeurlaub</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Individuelle Ägyptenreisen</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Gruppenreisen</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Lastminute</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Nasserseekreuzfahrt</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Klassenfahrt</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Info Ägypten Spezialis</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Landesinformationen</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Erfahrungen</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Reiseführer</a></li>
<li itemprop="name"><a itemprop="url" href="#" title="">Ägypten Reisemagazin</a></li>
{#
{% for nav_page in nav_pages if nav_page.country is empty %}
<li itemprop="name">
<a itemprop="url" href="{{ nav_page.urlPath }}"
title="{{ nav_page.title }}"
>
{{ nav_page.title }}
</a>
</li>
{% endfor %}
#}
<li itemprop="name">
<a itemprop="url" href="/docs/gruppenreisen.html" title="Gruppenreisen">
Gruppenreisen
</a>
</li>
<li itemprop="name">
<a itemprop="url" href="/docs/jugendreisen.html" title="Jugendreisen">
Jugendreisen
</a>
</li>
<li itemprop="name">
<a itemprop="url" href="/docs/reiseversicherung.html" title="Reiseversicherung">
Reiseversicherung
</a>
</li>
<li itemprop="name">
<a itemprop="url" href="/docs/urlaubsinfos.html" title="Reiseführer">
Reiseführer
</a>
</li>
<li itemprop="name">
<a itemprop="url" href="/docs/urlaubsinfos.html" title="Reiseführer">
Reiseführer
</a>
</li>
<li itemprop="name">
<a itemprop="url" href="/docs/reisemagazin.html" title="Reisemagazin">
Reisemagazin
</a>
</li>
</ul>
</li>
</ul><!-- end navbar-left -->
@ -67,7 +104,7 @@
<div class="navbar-subnavi">
<div id="navbar-collapse" class="navbar-left navbar-collapse collapse clearfix subnavi">
<ul class="nav navbar-nav">
{% for nav_page in nav_pages %}
{% for nav_page in nav_pages if nav_page.country is not empty %}
{# @var nav_page \AppBundle\Entity\Page #}
<li class="dropdown" itemprop="name">
<a href="{{ nav_page.urlPath }}" title="{{ nav_page.title }}"

View file

@ -0,0 +1,36 @@
{# @var child_page \AppBundle\Entity\Page #}
<div class="col-md-4 col-sm-4">
<div class="travel-wrapper get-box-link">
<div class="item text-left">
<div class="item-img">
<div class="lb">
{% if child_page.boxStar is not empty %}
<div class="cstar_left">{{ child_page.boxStar|raw }}</div>
{% endif %}
{% if child_page.travelProgram is not empty %}
<div class="cprice">ab {{ child_page.travelProgram.lowestPrice|number_format }} € p.P.</div>
{% endif %}
{% if child_page.boxDiscount is not empty %}
<div class="cdiscount">{{ child_page.boxDiscount|raw }}</div>
{% endif %}
</div>
{% if child_page.travelProgram is not empty and child_page.travelProgram.previewImage is not empty %}
<img src="https://www.sterntours.de/uploads/travel_program/{{ child_page.travelProgram.previewImage.fileNameWithExtension }}"
alt="{{ child_page.title }}"
>
{% else %}
<img src="{{ child_page.boxImageUrl ~ '/bundles/app/images/page1_img1.jpg' }}"
alt="{{ child_page.title }}"
>
{% endif %}
</div>
<div class="box_mid">
<div class="hl5">{{ child_page.title }}</div>
<p>{{ child_page.description }}</p>
</div>
<a class="item-button is-box-link dobble_line" href="{{ child_page.urlPath }}" title="{{ child_page.title }}">
{{ child_page.title }}
</a>
</div>
</div>
</div>

View file

@ -1,5 +1,13 @@
<div id="sidebar" class="col-md-3 col-sm-4 col-xs-12 hidden-xs">
{% if show_nav_sidebar_widget ?? true and page is defined %} {# TODO #}
{% if nav_sidebar_widget_block is empty %}
{{ render(controller('AppBundle:Default:navSidebarWidget', {page: page})) }}
{% else %}
{{ nav_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
<div class="widget clearfix">
<div class="widget-title">
TOP bewertet

View file

@ -0,0 +1,36 @@
<div class="widget clearfix">
<div class="widget-title visible-xs">
<a class="collapse-widget" href="#side-navigation" data-toggle="collapse">Reiseziele</a>
</div><!-- end title -->
<nav id="side-navigation" class="navbar collapse in" role="navigation" itemscope
itemtype="https://schema.org/SiteNavigationElement"
>
<ul class="side-menu" role="menu">
{% for nav_page in nav_pages if nav_page.status == 1 and nav_page.showInNavi == 1 %}
<li {% if nav_page == nav_open_node or nav_page == page %}class ="active"{% endif %} itemprop="name">
<a itemprop="url" href="{{ nav_page.urlPath }}" title="{{ nav_page.title }}">
{{ nav_page.title }}
</a>
</li>
{% if nav_page == nav_open_node %}
{% for nav_child_page in nav_child_pages if nav_child_page.status == 1 and nav_child_page.showInNavi == 1 %}
<li class="sub-menu-item{% if nav_child_page == page %} active{% endif %}" itemprop="name">
<i class="fa fa-star"></i>
<a itemprop="url" href="{{ nav_child_page.urlPath }}" title="{{ nav_child_page.title }}">
{{ nav_child_page.title }}
</a>
</li>
{% endfor %}
{% endif %}
{% endfor %}
</ul>
</nav>
</div>