Adjust to new link wizard

This commit is contained in:
Björn Fromme
2018-09-20 13:36:48 +02:00
parent 95d11d5eb0
commit 8409b30ba1
43 changed files with 132 additions and 97 deletions
@@ -35,7 +35,9 @@ use EP\EpProducts\Service\DateService;
use EP\EpProducts\Service\FilterService;
use EP\EpProducts\Service\ResellerService;
use EP\EpProducts\Traits\RequestArgumentTypeConversionTrait;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
class AjaxDateController extends ActionController
{
@@ -115,12 +117,13 @@ class AjaxDateController extends ActionController
if ($product->getAltProduct()) {
$altProduct = $product->getAltProduct();
if ($this->productRepository->hasDates($altProduct)) {
$altProductLink = $this->uriBuilder
->reset()
->setTargetPageUid($altProduct->getDetailPage())
->setCreateAbsoluteUri(true)
->build()
;
/** @var ContentObjectRenderer $contentObject */
$contentObject = GeneralUtility::makeInstance(ContentObjectRenderer::class);
$altProductLink = $contentObject->typoLink_URL(
[
'parameter' => $altProduct->getDetailPage(),
]
);
$altLabel = $product->getAltLabel();
}
}
@@ -33,6 +33,7 @@ use EP\EpProducts\Domain\Repository\ProductRepository;
use EP\EpProducts\Service\HotelService;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
class MapController extends ActionController
{
@@ -112,11 +113,12 @@ class MapController extends ActionController
*/
protected function getUriForPageUid($pageUid)
{
return $this->uriBuilder
->reset()
->setTargetPageUid($pageUid)
->setCreateAbsoluteUri(true)
->build()
;
/** @var ContentObjectRenderer $contentObject */
$contentObject = GeneralUtility::makeInstance(ContentObjectRenderer::class);
return $contentObject->typoLink_URL(
[
'parameter' => $pageUid,
]
);
}
}
@@ -70,7 +70,7 @@ class SearchResultUrlService implements SingletonInterface
{
foreach ($conceptData['items'] as $key => $item)
{
$detailPageUid = $item['product']['detailPage'] ?: $defaultDetailPageUid;
$detailPageUid = $this->getProductPageUid($item['product']['detailPage'], $defaultDetailPageUid);
$arguments = [
'product' => $item['product']['uid'],
'hotel' => $item['hotel']['uid'],
@@ -90,4 +90,23 @@ class SearchResultUrlService implements SingletonInterface
$searchResult->setData($data);
}
/**
* @param mixed $uid
* @param int $defaultUid
* @return int
*/
protected function getProductPageUid($uid, $defaultUid)
{
if (is_numeric($uid)) {
return $uid;
}
if (strpos($uid, 't3://') !== false) {
parse_str(parse_url($uid, PHP_URL_QUERY), $arguments);
return $arguments['uid'];
}
return $defaultUid;
}
}
+8 -8
View File
@@ -17,7 +17,7 @@ CREATE TABLE tx_epproducts_domain_model_product (
code varchar(255) DEFAULT '' NOT NULL,
feature varchar(255) DEFAULT '' NOT NULL,
bus_pro_id int(11) unsigned NOT NULL default '0',
detail_page int(11) unsigned NOT NULL default '0',
detail_page varchar(255) DEFAULT '' NOT NULL,
description text NOT NULL,
teaser text NOT NULL,
teaser_long text NOT NULL,
@@ -116,7 +116,7 @@ CREATE TABLE tx_epproducts_domain_model_date (
product_subline varchar(255) DEFAULT '' NOT NULL,
product_fact varchar(255) DEFAULT '' NOT NULL,
product_searchable tinyint(4) unsigned DEFAULT '0' NOT NULL,
product_detail_page int(11) unsigned NOT NULL default '0',
product_detail_page varchar(255) DEFAULT '' NOT NULL,
product_keywords text NOT NULL,
product_teaser text NOT NULL,
product_feature varchar(255) DEFAULT '' NOT NULL,
@@ -144,7 +144,7 @@ CREATE TABLE tx_epproducts_domain_model_date (
hotel_type tinyint(4) unsigned DEFAULT '0' NOT NULL,
hotel_keywords text NOT NULL,
hotel_teaser text NOT NULL,
hotel_detail_page int(11) unsigned NOT NULL default '0',
hotel_detail_page varchar(255) DEFAULT '' NOT NULL,
earlybird tinyint(4) unsigned DEFAULT '0' NOT NULL,
low_contingent tinyint(4) unsigned DEFAULT '0' NOT NULL,
rooms int(11) unsigned DEFAULT '0',
@@ -191,7 +191,7 @@ CREATE TABLE tx_epproducts_domain_model_hotel (
earlybird tinyint(4) unsigned DEFAULT '0' NOT NULL,
low_contingent tinyint(4) unsigned DEFAULT '0' NOT NULL,
show_as_teaser tinyint(4) unsigned DEFAULT '0' NOT NULL,
detail_page int(11) unsigned NOT NULL default '0',
detail_page varchar(255) DEFAULT '' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
headline varchar(255) DEFAULT '' NOT NULL,
description text NOT NULL,
@@ -356,7 +356,7 @@ CREATE TABLE tx_epproducts_domain_model_concept (
code varchar(255) DEFAULT '' NOT NULL,
description text NOT NULL,
description_extended text NOT NULL,
detail_page int(11) DEFAULT '0' NOT NULL,
detail_page varchar(255) DEFAULT '' NOT NULL,
products int(11) DEFAULT '0' NOT NULL,
teaser text NOT NULL,
headline varchar(255) DEFAULT '' NOT NULL,
@@ -402,7 +402,7 @@ CREATE TABLE tx_epproducts_domain_model_country (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
detail_page int(11) unsigned NOT NULL default '0',
detail_page varchar(255) DEFAULT '' NOT NULL,
code char(2) DEFAULT '' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
name_internal varchar(255) DEFAULT '' NOT NULL,
@@ -460,7 +460,7 @@ CREATE TABLE tx_epproducts_domain_model_region (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
detail_page int(11) unsigned NOT NULL default '0',
detail_page varchar(255) DEFAULT '' NOT NULL,
exclude_from_teasergroups tinyint(4) unsigned DEFAULT '0' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
name_internal varchar(255) DEFAULT '' NOT NULL,
@@ -534,7 +534,7 @@ CREATE TABLE tx_epproducts_domain_model_city (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
detail_page int(11) unsigned NOT NULL default '0',
detail_page varchar(255) DEFAULT '' NOT NULL,
exclude_from_teasergroups tinyint(4) unsigned DEFAULT '0' NOT NULL,
name varchar(255) DEFAULT '' NOT NULL,
name_internal varchar(255) DEFAULT '' NOT NULL,
@@ -29,7 +29,9 @@ namespace EP\EpTheme\ViewHelpers\Uri;
use EP\EpProducts\Domain\Model\Hotel;
use EP\EpProducts\Domain\Model\Product;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
@@ -62,14 +64,15 @@ class ProductViewHelper extends AbstractViewHelper
)
{
$product = $arguments['product'];
if ($product->getDetailPage()) {
return $renderingContext
->getControllerContext()
->getUriBuilder()
->reset()
->setTargetPageUid($product->getDetailPage())
->build()
;
/** @var ContentObjectRenderer $contentObject */
$contentObject = GeneralUtility::makeInstance(ContentObjectRenderer::class);
return $contentObject->typoLink_URL(
[
'parameter' => $product->getDetailPage(),
]
);
}
$pageUid = $arguments['defaultDetailPageUid'];
@@ -7,7 +7,7 @@
<span>{item.title -> v:format.replace(substring: '#', replacement: ' ')}</span>
</f:then>
<f:else>
<a href="{f:uri.page(pageUid: item.uid)}" title="{item.linktext}">{item.title -> v:format.replace(substring: '#', replacement: ' ')}</a>
<a href="{f:uri.typolink(parameter: item.uid)}" title="{item.linktext}">{item.title -> v:format.replace(substring: '#', replacement: ' ')}</a>
</f:else>
</f:if>
</f:for>
@@ -5,7 +5,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Teaser">
<f:link.page class="teaserbox teaserbox--city" pageUid="{city.detailPage}" title="{city.name}">
<f:link.typolink class="teaserbox teaserbox--city" parameter="{city.detailPage}" title="{city.name}">
<div class="teaserbox__image">
<img class="teaserbox__flag"
src="{f:uri.image(src: '{ep:flagiconSource(country: city.country)}')}"
@@ -18,7 +18,7 @@
{city.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -5,7 +5,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Teaser">
<f:link.page class="teaserbox teaserbox--concept" pageUid="{concept.detailPage}" title="{concept.name}">
<f:link.typolink class="teaserbox teaserbox--concept" parameter="{concept.detailPage}" title="{concept.name}">
<div class="teaserbox__image">
<f:render partial="TeaserImage" arguments="{image: concept.teaserImage}"/>
<f:if condition="{concept.code}">
@@ -16,7 +16,7 @@
{concept.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button button--full teaserbox__button teaserbox__button--fadein">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -1,6 +1,6 @@
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<div class="ep-contactnav">
<a href="{f:uri.page(pageUid: settings.watchlistPageUid)}" class="bg-red watchlist" v-show="watchlistCount > 0" v-cloak>
<a href="{f:uri.typolink(parameter: settings.watchlistPageUid)}" class="bg-red watchlist" v-show="watchlistCount > 0" v-cloak>
<span class="fa fa-list" aria-hidden="true"></span>
<div>Merkliste ({{ watchlistCount }})</div>
</a>
@@ -32,7 +32,12 @@
<div class="row">
<f:for each="{buttons}" as="button" iteration="iteration">
<f:if condition="{iteration.cycle} <= 4">
<div class="col-md-6"><f:link.page pageUid="{button.container.link}" class="btn btn-warning btn-shadow">{button.container.label}</f:link.page></div>
<div class="col-md-6">
<f:link.typolink parameter="{button.container.link}"
class="btn btn-warning btn-shadow">
{button.container.label}
</f:link.typolink>
</div>
</f:if>
</f:for>
</div>
@@ -9,7 +9,7 @@
<div>{data.bodytext -> f:format.html()}</div>
<div>
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
<a href="{f:uri.page(pageUid: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
</div>
</div>
</f:section>
@@ -8,7 +8,7 @@
<div class="container-fluid ep-disturber-reminder">
<div>{data.header}</div>
<div class="col-md-6">
<a href="{f:uri.page(pageUid: button.container.link)}" title="{button.container.label -> f:format.raw()}">
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
<f:if condition="{teaserImage}">
<f:then>
<img class="scale lazy" data-src="{f:uri.image(src: teaserImage.uid, treatIdAsReference: 1, crop: teaserImage.crop, width: '400')}" alt="{teaserImage.alternative}" title="{teaserImage.title}">
@@ -22,7 +22,7 @@
<div class="col-md-6 ">
<div>{data.bodytext -> f:format.html()}</div>
</div>
<a href="{f:uri.page(pageUid: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
</div>
</f:section>
@@ -25,7 +25,7 @@
<div class="row">
<f:for each="{data.flexForm.buttons}" as="button" iteration="iteration">
<f:if condition="{iteration.cycle} <= 3">
<div class="col-sm-4"><f:link.page pageUid="{button.container.link}" class="btn btn-warning btn-shadow">{button.container.label}</f:link.page></div>
<div class="col-sm-4"><f:link.typolink parameter="{button.container.link}" class="btn btn-warning btn-shadow">{button.container.label}</f:link.typolink></div>
</f:if>
</f:for>
</div>
@@ -10,7 +10,7 @@
</ul>
</div><!--
--><div class="col-md-4 vcenter">
<a class="button button--full" href="{f:uri.page(pageUid: buttonLink)}" title="{buttonLabel -> f:format.raw()}">{buttonLabel -> f:format.raw()}</a>
<a class="button button--full" href="{f:uri.typolink(parameter: buttonLink)}" title="{buttonLabel -> f:format.raw()}">{buttonLabel -> f:format.raw()}</a>
</div>
</div>
</div>
@@ -24,7 +24,9 @@
</div>
<f:if condition="{settings.infoPageUid}">
<div class="text-right">
<i class="fa fa-info-circle" aria-hidden="true"></i><a href="{f:uri.page(pageUid: settings.infoPageUid)}"><small>Weitere Reiseinfos findet ihr <u>hier</u></small></a>
<i class="fa fa-info-circle" aria-hidden="true"></i><a href="{f:uri.typolink(parameter: settings.infoPageUid)}">
<small>Weitere Reiseinfos findet ihr <u>hier</u></small>
</a>
</div>
</f:if>
</div>
@@ -20,7 +20,7 @@
<li><a href="{submenuitem.url}" target="_blank" title="{submenuitem.linktext}">{submenuitem.title}</a></li>
</f:then>
<f:else>
<li><a href="{f:uri.page(pageUid: submenuitem.uid)}" title="{submenuitem.linktext}">{submenuitem.title}</a></li>
<li><a href="{f:uri.typolink(parameter: submenuitem.uid)}" title="{submenuitem.linktext}">{submenuitem.title}</a></li>
</f:else>
</f:if>
</f:for>
@@ -75,8 +75,8 @@
</div>
<div class="col-sm-4 text-right">
<a href="{f:uri.page(pageUid: settings.legalNoticePageUid)}" title="Impressum">Impressum</a>
<a href="{f:uri.page(pageUid: settings.termsAndConditionsPageUid)}" title="AGB">AGB</a>
<a href="{f:uri.typolink(parameter: settings.legalNoticePageUid)}" title="Impressum">Impressum</a>
<a href="{f:uri.typolink(parameter: settings.termsAndConditionsPageUid)}" title="AGB">AGB</a>
</div>
</div>
</div>
@@ -13,11 +13,11 @@
<span class="header-caption__headline">{slide.headline}</span>
<span class="header-caption__subline">{slide.subline}</span>
<f:if condition="{slide.button}">
<f:link.page pageUid="{slide.page_uid}" class="button header-caption__button">{slide.button}</f:link.page>
<f:link.typolink parameter="{slide.page_uid}" class="button header-caption__button">{slide.button}</f:link.typolink>
</f:if>
</div>
<f:if condition="{slide.button}">
<f:link.page pageUid="{slide.page_uid}" class="button header__button">{slide.button}</f:link.page>
<f:link.typolink parameter="{slide.page_uid}" class="button header__button">{slide.button}</f:link.typolink>
</f:if>
</div>
</div>
@@ -13,12 +13,12 @@
<span>{slide.headline}</span><br>{slide.subline}
</div>
<f:if condition="{slide.button}">
<f:link.page pageUid="{slide.page_uid}" class="button header-caption__button">{slide.button}</f:link.page>
<f:link.typolink parameter="{slide.page_uid}" class="button header-caption__button">{slide.button}</f:link.typolink>
</f:if>
</div>
</div>
<f:if condition="{slide.button}">
<f:link.page pageUid="{slide.page_uid}" class="button header__button">{slide.button}</f:link.page>
<f:link.typolink parameter="{slide.page_uid}" class="button header__button">{slide.button}</f:link.typolink>
</f:if>
</div>
</div>
@@ -5,7 +5,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Teaser">
<f:link.page class="teaserbox teaserbox--hotel" pageUid="{hotel.detailPage}" title="{hotel.name}">
<f:link.typolink class="teaserbox teaserbox--hotel" parameter="{hotel.detailPage}" title="{hotel.name}">
<div class="teaserbox__image">
<img class="teaserbox__flag"
src="{hotel.country.flag}"
@@ -25,7 +25,7 @@
</f:if>
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -3,7 +3,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Teaser">
<f:link.page class="teaserbox teaserbox--hotel" pageUid="{hotel.detailPage}" title="{hotel.name}">
<f:link.typolink class="teaserbox teaserbox--hotel" parameter="{hotel.detailPage}" title="{hotel.name}">
<div class="teaserbox__image">
<img class="teaserbox__flag"
src="{hotel.country.flag}"
@@ -23,7 +23,7 @@
</f:if>
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -3,7 +3,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Teaser">
<f:link.page class="teaserbox teaserbox--hotel" pageUid="{hotel.detailPage}" title="{hotel.name}">
<f:link.typolink class="teaserbox teaserbox--hotel" parameter="{hotel.detailPage}" title="{hotel.name}">
<div class="teaserbox__image">
<img class="teaserbox__flag"
src="{hotel.country.flag}"
@@ -21,7 +21,7 @@
</f:if>
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -33,7 +33,7 @@
</a>
</f:else>
</f:if>
<a class="navbar-brand" href="{f:uri.page(pageUid: settings.defaultHomeUid)}" title="">
<a class="navbar-brand" href="{f:uri.typolink(parameter: settings.defaultHomeUid)}" title="">
<img class="logo" src="{f:uri.image(src: settings.logoImage)}" alt="{settings.defaultTitle}">
</a>
</div>
@@ -62,7 +62,7 @@
</f:section>
<f:section name="SecondLevel">
<a href="{f:uri.page(pageUid: topitem.uid)}" data-target="#"
<a href="{f:uri.typolink(parameter: topitem.uid)}" data-target="#"
class="dropdown-toggle" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false"
title="{topitem.linktext}">{topitem.title}<span class="glyphicon glyphicon-chevron-down"></span></a>
@@ -84,7 +84,7 @@
</a>
</f:then>
<f:else>
<a href="{f:uri.page(pageUid: subitem.uid)}">
<a href="{f:uri.typolink(parameter: subitem.uid)}">
{f:if(condition: '{subitem.tx_eptheme_context_country_code}', then: '{f:image(src: \'{ep:flagiconSource(countryCode: subitem.tx_eptheme_context_country_code)}\', alt: subitem.tx_eptheme_context_country_code)}')}<span class="headline headline--4 headline--nav">{subitem.title}</span>
</a>
</f:else>
@@ -107,7 +107,7 @@
<li><a href="{subsubitem.url}" target="_blank" title="{subsubitem.linktext}">{subsubitem.title}</a></li>
</f:then>
<f:else>
<li><a href="{f:uri.page(pageUid: subsubitem.uid)}" title="{subsubitem.linktext}">{subsubitem.title}</a></li>
<li><a href="{f:uri.typolink(parameter: subsubitem.uid)}" title="{subsubitem.linktext}">{subsubitem.title}</a></li>
</f:else>
</f:if>
</f:for>
@@ -121,7 +121,7 @@
<a href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" class="btn btn-warning">Anrufen</a>
<a v-on:click.prevent="scrollTo('#footer')" href="#footer" class="btn btn-warning">Whatsapp</a>
<f:if condition="{settings.faqPageUid}">
<a href="{f:uri.page(pageUid: settings.faqPageUid)}" class="btn btn-warning">FAQ</a>
<a href="{f:uri.typolink(parameter: settings.faqPageUid)}" class="btn btn-warning">FAQ</a>
</f:if>
</div>
</f:section>
@@ -9,7 +9,7 @@
<f:if condition="{contentElements}">
<f:for each="{contentElements}" as="contentElement">
<li>
<a href="{f:uri.page(pageUid: data.pid, section: 'c{contentElement.uid}')}"
<a href="{f:uri.typolink(parameter: data.pid, section: 'c{contentElement.uid}')}"
class="btn btn-warning ep-sidebar"
v-on:click.prevent="scrollTo('#c{contentElement.uid}')">{contentElement.header}</a>
</li>
@@ -70,7 +70,7 @@
arguments="{filterSettings: '{filterSettings -> ep:filterSettingsEncoder()}'}">zurück zum Suchergebnis</f:link.action>
</f:then>
<f:else>
<f:link.page pageUid="{referringPageUid}">zurück</f:link.page>
<f:link.typolink parameter="{referringPageUid}">zurück</f:link.typolink>
</f:else>
</f:if>
</div>
@@ -21,12 +21,12 @@
</f:link.action>
</f:then>
<f:else>
<f:link.page
pageUid="{teaser.product.detailPage}"
<f:link.typolink
parameter="{teaser.product.detailPage}"
class="teaserbox__flip"
title="{teaser.product.name}">
<f:render section="Inner" arguments="{_all}"/>
</f:link.page>
</f:link.typolink>
</f:else>
</f:if>
</div>
@@ -10,7 +10,7 @@
<v:variable.set name="uriLink" value="{f:uri.action(pageUid: teaser.product.detailPage, action: 'detail', controller: 'Product', arguments: '{product: teaser.product.uid, hotel: teaser.hotel.uid}', extensionName: 'epproducts', pluginName: 'product_detail')}"/>
</f:then>
<f:else>
<v:variable.set name="uriLink" value="{f:uri.page(pageUid: teaser.product.detailPage)}"/>
<v:variable.set name="uriLink" value="{f:uri.typolink(parameter: teaser.product.detailPage)}"/>
</f:else>
</f:if>
<f:render section="Inner" arguments="{_all}"/>
@@ -1,6 +1,6 @@
{namespace ep=EP\EpTheme\ViewHelpers}
<f:if condition="{product.ratingVotesCount} > 0">
<a href="{f:uri.page(pageUid: targetPageUid)}" class="ep-sidebar ep-rating" title="Reisebewertungen">
<a href="{f:uri.typolink(parameter: targetPageUid)}" class="ep-sidebar ep-rating" title="Reisebewertungen">
<p><strong>{label}</strong></p>
<div>
<ep:rating product="{product}"/>
@@ -5,7 +5,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Teaser">
<f:link.page class="teaserbox teaserbox--region" pageUid="{region.detailPage}" title="{region.name}">
<f:link.typolink class="teaserbox teaserbox--region" parameter="{region.detailPage}" title="{region.name}">
<div class="teaserbox__image">
<img class="teaserbox__flag"
src="{f:uri.image(src: '{ep:flagiconSource(country: region.country)}')}"
@@ -18,7 +18,7 @@
{region.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -3,7 +3,7 @@
<div class="ep-sidebar ep-snow region-award">
<p><strong>{region.awardLabel -> v:or(alternative: 'Auszeichnung')}</strong></p>
<div>
<f:link.page pageUid="{region.awardLink}" title="{region.name}">
<f:link.typolink parameter="{region.awardLink}" title="{region.name}">
<f:image src="{region.awardImage.uid}"
treatIdAsReference="1"
crop="{region.awardImage.crop}"
@@ -12,7 +12,7 @@
maxWidth="165"
class="region-award__image"
/>
</f:link.page>
</f:link.typolink>
</div>
</div>
</f:if>
@@ -8,9 +8,9 @@
<f:if condition="{data.header_link}">
<v:condition.string.isNumeric value="{data.header_link}">
<f:then>
<f:link.page pageUid="{data.header_link}" title="{data.header}" class="teaserbox teaserbox--default">
<f:link.typolink parameter="{data.header_link}" title="{data.header}" class="teaserbox teaserbox--default">
<f:render section="Content" arguments="{_all}"/>
</f:link.page>
</f:link.typolink>
</f:then>
<f:else>
<a href="{data.header_link}" target="_blank" title="{data.header}" class="teaserbox teaserbox--default">
@@ -9,9 +9,9 @@
<f:if condition="{data.header_link}">
<v:condition.string.isNumeric value="{data.header_link}">
<f:then>
<f:link.page pageUid="{data.header_link}" title="{data.header}" class="teaserbox teaserbox--default">
<f:link.typolink parameter="{data.header_link}" title="{data.header}" class="teaserbox teaserbox--default">
<f:render section="Content" arguments="{_all}"/>
</f:link.page>
</f:link.typolink>
</f:then>
<f:else>
<a href="{data.header_link}" target="_blank" title="{data.header}" class="teaserbox teaserbox--default">
@@ -48,7 +48,7 @@
</div>
<f:if condition="{data.header_link}">
<f:then>
<a class="btn btn-warning" href="{f:uri.page(pageUid: data.header_link)}" title="{product.name}">Details</a>
<a class="btn btn-warning" href="{f:uri.typolink(parameter: data.header_link)}" title="{product.name}">Details</a>
</f:then>
<f:else>
<a class="btn btn-warning" href="{ep:uri.product(product: product, hotel: hotel, linkHotel: linkHotel)}" title="{product.name}">Details</a>
@@ -11,7 +11,7 @@
<f:for each="{page.content}" as="element">
<f:if condition="{element.data.header}">
<li>
<a href="{f:uri.page(pageUid: page.uid, section: 'c{element.data.uid}')}"
<a href="{f:uri.typolink(parameter: page.uid, section: 'c{element.data.uid}')}"
class="btn btn-warning ep-sidebar"
v-on:click.prevent="scrollTo('#c{element.data.uid}')">{element.data.header}</a>
</li>
@@ -8,9 +8,10 @@
<ul class="list-unstyled">
<f:for each="{menu}" as="page">
<li>
<f:link.page pageUid="{page.data.uid}" class="btn btn-warning ep-sidebar{f:if(condition: '{page.active}', then: ' active')}">
<f:link.typolink parameter="{page.data.uid}"
class="btn btn-warning ep-sidebar{f:if(condition: '{page.active}', then: ' active')}">
{page.title}
</f:link.page>
</f:link.typolink>
</li>
</f:for>
</ul>
@@ -7,7 +7,7 @@
<f:layout name="Default"/>
<f:section name="Content">
<f:link.page class="teaserbox teaserbox--country" pageUid="{country.detailPage}" title="{country.name}">
<f:link.typolink class="teaserbox teaserbox--country" parameter="{country.detailPage}" title="{country.name}">
<div class="teaserbox__image">
<img class="teaserbox__flag"
src="{f:uri.image(src: '{ep:flagiconSource(country: country)}')}"
@@ -20,7 +20,7 @@
{country.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
</f:link.page>
</f:link.typolink>
</f:section>
</html>
@@ -80,9 +80,9 @@
</div>
<div class="form-group">
<div class="help-block">
Ich habe die <f:link.page pageUid="{settings.dataProtectionPageUid}"
Ich habe die <f:link.typolink parameter="{settings.dataProtectionPageUid}"
title="Datenschutzerklärung"
target="_blank">Datenschutzbestimmungen</f:link.page> gelesen und akzeptiert.
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
</div>
<div class="form-group">
@@ -39,9 +39,9 @@
</div>
<div class="form-group">
<div class="help-block">
Ich habe die <f:link.page pageUid="{settings.dataProtectionPageUid}"
Ich habe die <f:link.typolink parameter="{settings.dataProtectionPageUid}"
title="Datenschutzerklärung"
target="_blank">Datenschutzbestimmungen</f:link.page> gelesen und akzeptiert.
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
</div>
<div class="form-group">
@@ -71,9 +71,9 @@
</ul>
</f:if>
<f:if condition="{settings.backPid}">
<f:link.page pageUid="{settings.backPid}" class="button button--default button--small">
<f:link.typolink parameter="{settings.backPid}" class="button button--default button--small">
<f:translate key="back-link" />
</f:link.page>
</f:link.typolink>
</f:if>
</div>
</f:then>
@@ -101,11 +101,11 @@
<f:render partial="RegionAward" arguments="{region: product.region}"/>
<f:if condition="{product.banner}">
<div class="ep-sidebar ep-snow">
<f:link.page pageUid="{product.banner.originalResource.link}"
<f:link.typolink parameter="{product.banner.originalResource.link}"
title="{product.banner.title}">
<f:image src="{product.banner.uid}" treatIdAsReference="1"
class="scale" alt="{product.banner.alternative}"/>
</f:link.page>
</f:link.typolink>
</div>
</f:if>
<f:render partial="Rating" arguments="{product: product, targetPageUid: settings.ratingPageUid, label: settings.ratingWidgetLabel}"/>
@@ -121,10 +121,10 @@
<f:if condition="{product.region.season} == 'w'">
<div class="alert alert-info">
<p><strong>Gruppenrabatt bis zu 100€ möglich</strong></p>
<p>Für Gruppen bis 15 Personen könnt ihr <f:link.page pageUid="31">hier direkt buchen</f:link.page>.
<p>Für Gruppen bis 15 Personen könnt ihr <f:link.typolink parameter="31">hier direkt buchen</f:link.typolink>.
Für Gruppen ab 16 Personen erstellen wir euch ein konkretes Angebot zu günstigen
Gruppenkonditionen zu dieser Reise. Anfrage via Tel. 0221 - 272 276 18 oder mit einer
<f:link.page pageUid="{settings.defaultContactFormPageUid}">Kurzanfrage</f:link.page>!</p>
<f:link.typolink parameter="{settings.defaultContactFormPageUid}">Kurzanfrage</f:link.typolink>!</p>
</div>
</f:if>
</f:if>
@@ -200,11 +200,11 @@
<f:render partial="RegionAward" arguments="{region: product.region}"/>
<f:if condition="{product.banner}">
<div class="ep-sidebar ep-snow">
<f:link.page pageUid="{product.banner.originalResource.link}"
<f:link.typolink parameter="{product.banner.originalResource.link}"
title="{product.banner.title}">
<f:image src="{product.banner.uid}" treatIdAsReference="1"
class="scale" alt="{product.banner.alternative}"/>
</f:link.page>
</f:link.typolink>
</div>
</f:if>
<f:render partial="Rating" arguments="{product: product, targetPageUid: settings.ratingPageUid, label: settings.ratingWidgetLabel}"/>
@@ -44,7 +44,7 @@
@selected="updatePax"
:pax-options="filterOptions.pax"
:pax="searchParams.pax"
groups-uri="{f:uri.page(pageUid: settings.groupsPageUid)}"
groups-uri="{f:uri.typolink(parameter: settings.groupsPageUid)}"
></pax-select>
</div>
<div class="col-sm-4">
@@ -19,8 +19,8 @@
<f:for each="{list}" as="snowreport">
<tr>
<td>
<f:link.page pageUid="{snowreport.regionDetailPage}" title="{snowreport.regionName}">{snowreport.regionName}</f:link.page><br>
<f:link.page pageUid="{snowreport.countryDetailPage}" title="{snowreport.countryName}">{snowreport.countryName}</f:link.page>
<f:link.typolink parameter="{snowreport.regionDetailPage}" title="{snowreport.regionName}">{snowreport.regionName}</f:link.typolink><br>
<f:link.typolink parameter={snowreport.countryDetailPage}" title="{snowreport.countryName}">{snowreport.countryName}</f:link.typolink>
</td>
<f:if condition="{snowreport.inSeason}">
<f:then>
+1 -1
View File
@@ -10,7 +10,7 @@ CREATE TABLE tx_eptheme_domain_model_slide (
headline varchar(255) DEFAULT '' NOT NULL,
subline varchar(255) DEFAULT '' NOT NULL,
button varchar(255) DEFAULT '' NOT NULL,
page_uid int(11) unsigned NOT NULL default '0',
page_uid varchar(255) DEFAULT '' NOT NULL,
image int(11) unsigned NOT NULL default '0',
page int(11) unsigned DEFAULT '0',
sorting int(11) unsigned DEFAULT '0' NOT NULL,
+1 -1
View File
@@ -9,7 +9,7 @@ CREATE TABLE tx_eptrack_domain_model_redirect (
label varchar(255) DEFAULT '' NOT NULL,
redirect_from varchar(255) DEFAULT '' NOT NULL,
target_page_uid int(11) unsigned DEFAULT '0' NOT NULL,
target_page_uid varchar(255) DEFAULT '' NOT NULL,
tracking_code varchar(255) DEFAULT '' NOT NULL,
response_code char(3) DEFAULT '301' NOT NULL,
utm_source varchar(255) DEFAULT '' NOT NULL,