* 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:
parent
03f50fc03c
commit
6bb5c271c6
15 changed files with 596 additions and 125 deletions
|
|
@ -80,7 +80,7 @@ class BookingController extends Controller
|
|||
$bookingPriceInfo = [];
|
||||
$totalPrice = $this->calculatePrice($travelDate, $bookingRequest, $htmlSummary, $bookingPriceInfo);
|
||||
|
||||
if ($action == 'buchen')
|
||||
if ($action == '/buchen')
|
||||
{
|
||||
$breadcrumbEntries = Util::createBreadcrumb($travelProgramPage);
|
||||
$breadcrumbEntries[] = new BreadcrumbEntry('Buchen', $travelProgramPage->getUrlPath() .'/buchen');
|
||||
|
|
@ -119,8 +119,7 @@ class BookingController extends Controller
|
|||
$this->renderView('default/email/bookingServiceEmail.txt.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'crm_url' => $crmBookingUrl .'/edit',
|
||||
'travel_program_url' => 'http' . (($_SERVER['SERVER_PORT'] == 443) ? 's://' : '://') .
|
||||
$_SERVER['HTTP_HOST'] . $travelProgramPage->getUrlPath(),
|
||||
'travel_program_url' => Util::getBaseUrl() . $travelProgramPage->getUrlPath(),
|
||||
'booking_request' => $bookingRequest,
|
||||
'booking_price_info' => $bookingPriceInfo,
|
||||
'travel_date' => $travelDate,
|
||||
|
|
@ -150,7 +149,7 @@ class BookingController extends Controller
|
|||
'total_price' => $totalPrice
|
||||
]);
|
||||
}
|
||||
elseif ($action == 'berechne-gesamtpreis')
|
||||
elseif ($action == '/berechne-gesamtpreis')
|
||||
{
|
||||
return $this->render('default/components/booking/summary.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
|
|
|
|||
|
|
@ -56,8 +56,14 @@ class DefaultController extends Controller
|
|||
public function cmsOverviewAction(Page $page)
|
||||
{
|
||||
return $this->render('default/pages/overview.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'page' => $page
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'page' => $page,
|
||||
|
||||
// #WORKAROUND Special navigation logic here adapted from the old website: Don't show child entries
|
||||
// #TODO Only applies at level 0
|
||||
'nav_pages' => $page->getChildren(),
|
||||
'nav_child_pages' => [],
|
||||
'nav_open_node' => null
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -126,7 +132,7 @@ class DefaultController extends Controller
|
|||
->where('page.status > 0')
|
||||
->andWhere('page.template = \'overview\'')
|
||||
->andWhere('page.lvl = 0')
|
||||
->orderBy('page.title,childPage.title')
|
||||
->orderBy('page.lft,page.title,childPage.lft,childPage.title')
|
||||
->getQuery()
|
||||
->execute()
|
||||
;
|
||||
|
|
@ -144,6 +150,39 @@ class DefaultController extends Controller
|
|||
]);
|
||||
}
|
||||
|
||||
public function navSidebarWidgetAction(Page $page)
|
||||
{
|
||||
$pageRepo = $this->getEntityManager()->getRepository('AppBundle:Page');
|
||||
$view = [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'page' => $page,
|
||||
];
|
||||
|
||||
if ($page->getHasChildren())
|
||||
{
|
||||
$view['nav_pages'] = $pageRepo->getSiblings($page);
|
||||
$view['nav_child_pages'] = $pageRepo->getChildren($page);
|
||||
$view['nav_open_node'] = $page;
|
||||
}
|
||||
else
|
||||
{
|
||||
$parent = $page->getParent();
|
||||
if ($parent)
|
||||
{
|
||||
$view['nav_pages'] = $pageRepo->getSiblings($parent);
|
||||
$view['nav_child_pages'] = $pageRepo->getSiblings($page);
|
||||
$view['nav_open_node'] = $parent;
|
||||
}
|
||||
else
|
||||
{
|
||||
$view['nav_pages'] = $pageRepo->getSiblings($page);
|
||||
$view['nav_child_pages'] = [];
|
||||
$view['nav_open_node'] = null;
|
||||
}
|
||||
}
|
||||
return $this->render('default/components/sidebar/navSidebarWidget.html.twig', $view);
|
||||
}
|
||||
|
||||
/*
|
||||
Suche Kindknoten
|
||||
Für jeden Kindknoten
|
||||
|
|
@ -178,11 +217,23 @@ class DefaultController extends Controller
|
|||
}
|
||||
|
||||
$em->beginTransaction();
|
||||
|
||||
// Add missing owner relation for catalog root pages (e.g. children of 'aegypten-reisen')
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 47 WHERE catalog_id = 3 AND owner = 0');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 66 WHERE catalog_id = 6 AND owner = 0');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 2803 WHERE catalog_id = 14 AND owner = 0');
|
||||
|
||||
$lft = 0;
|
||||
$this->createTree(0, $lft, 0);
|
||||
$em->commit();
|
||||
$em->flush();
|
||||
|
||||
// Reset the owner field to avoid problems in the old website
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE parent_id = 47 AND catalog_id = 3');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE parent_id = 66 AND catalog_id = 6');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE parent_id = 2803 AND catalog_id = 14');
|
||||
|
||||
$em->commit();
|
||||
|
||||
die("DONE.");
|
||||
}
|
||||
|
||||
|
|
@ -196,7 +247,8 @@ class DefaultController extends Controller
|
|||
{
|
||||
$qb->orWhere('p.owner IS NULL');
|
||||
}
|
||||
$qb->orderBy('p.title');
|
||||
$qb->orderBy('p.order');
|
||||
$qb->addOrderBy('p.title');
|
||||
$pages = $qb->getQuery()->execute();
|
||||
foreach ($pages as $page)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue