Initial commit - Typo3 11.5.41

This commit is contained in:
Matteo Gallo
2026-07-03 17:53:31 +02:00
commit 5ca4743197
6811 changed files with 568848 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
# Apache < 2.3
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
# Apache >= 2.3
<IfModule mod_authz_core.c>
Require all denied
</IfModule>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2017-04-04T12:30:37Z" product-name="tt_address">
<header/>
<body>
<trans-unit id="extbase_title" xml:space="preserve">
<source>Addresses</source>
</trans-unit>
<trans-unit id="extbase_description" xml:space="preserve">
<source>Displays one or more addresses.</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2017-04-05T08:11:35Z" product-name="tt_address">
<header/>
<body>
<trans-unit id="pi1_flexform.sheet_selection" xml:space="preserve">
<source>Selection</source>
</trans-unit>
<trans-unit id="pi1_flexform.single_records" xml:space="preserve">
<source>Single addresses</source>
</trans-unit>
<trans-unit id="pi1_flexform.group_selection" xml:space="preserve">
<source>Categories</source>
</trans-unit>
<trans-unit id="pi1_flexform.includeSubcategories" xml:space="preserve">
<source>Include subcategories</source>
</trans-unit>
<trans-unit id="pi1_flexform.combination" xml:space="preserve">
<source>Combination</source>
</trans-unit>
<trans-unit id="pi1_flexform.combination.and" xml:space="preserve">
<source>AND</source>
</trans-unit>
<trans-unit id="pi1_flexform.combination.or" xml:space="preserve">
<source>OR</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortBy" xml:space="preserve">
<source>Sort By</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortBy.singleSelection" xml:space="preserve">
<source>Order of single addresses</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortBy.sorting" xml:space="preserve" approved="yes">
<source>Order of addresses</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortBy.sorting.default" xml:space="preserve" approved="yes">
<source>Default</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortBy.sorting.sorting" xml:space="preserve" approved="yes">
<source>Manual sorting</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortOrder" xml:space="preserve">
<source>Sort Order</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortOrder.ascending" xml:space="preserve">
<source>Ascending</source>
</trans-unit>
<trans-unit id="pi1_flexform.sortOrder.descending" xml:space="preserve">
<source>Descending</source>
</trans-unit>
<trans-unit id="pi1_flexform.ignoreWithoutCoordinates" xml:space="preserve">
<source>Ignore records with no latitude/longitude</source>
</trans-unit>
<trans-unit id="pi1_flexform.allowOverride" xml:space="preserve">
<source>Allow override configuration by GET/POST</source>
</trans-unit>
<trans-unit id="pi1_flexform.sheet_display" xml:space="preserve">
<source>Display</source>
</trans-unit>
<trans-unit id="pi1_flexform.templateFile" xml:space="preserve">
<source>Template</source>
</trans-unit>
<trans-unit id="pi1_flexform.templateFile.I.0" xml:space="preserve">
<source>Default</source>
</trans-unit>
<trans-unit id="pi1_flexform.displayMode" xml:space="preserve">
<source>Select display mode</source>
</trans-unit>
<trans-unit id="pi1_flexform.displayMode.listView" xml:space="preserve">
<source>List view</source>
</trans-unit>
<trans-unit id="pi1_flexform.displayMode.singleView" xml:space="preserve">
<source>Single view</source>
</trans-unit>
<trans-unit id="pi1_flexform.displayMode.map" xml:space="preserve">
<source>Map view</source>
</trans-unit>
<trans-unit id="pi1_flexform.hidePagination" xml:space="preserve">
<source>Do not display pagebrowser (listview)</source>
</trans-unit>
<trans-unit id="pi1_flexform.itemsPerPage" xml:space="preserve">
<source>Number of items to be displayed (listview)</source>
</trans-unit>
<trans-unit id="pi1_flexform.singlePid" xml:space="preserve">
<source>Page for single view</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2017-04-13T10:24:37Z" product-name="tt_address">
<header/>
<body>
<trans-unit id="label.address" xml:space="preserve">
<source>Address</source>
</trans-unit>
<trans-unit id="label.building" xml:space="preserve">
<source>Building</source>
</trans-unit>
<trans-unit id="label.room" xml:space="preserve">
<source>Room</source>
</trans-unit>
<trans-unit id="label.position" xml:space="preserve">
<source>Position</source>
</trans-unit>
<trans-unit id="label.zip" xml:space="preserve">
<source>Postal code</source>
</trans-unit>
<trans-unit id="label.city" xml:space="preserve">
<source>City</source>
</trans-unit>
<trans-unit id="label.telephone" xml:space="preserve">
<source>Telephone</source>
</trans-unit>
<trans-unit id="label.fax" xml:space="preserve">
<source>Fax</source>
</trans-unit>
<trans-unit id="label.mobile" xml:space="preserve">
<source>Mobile phone</source>
</trans-unit>
<trans-unit id="label.email" xml:space="preserve">
<source>E-mail</source>
</trans-unit>
<trans-unit id="label.www" xml:space="preserve">
<source>Go to website</source>
</trans-unit>
<trans-unit id="label.socialmedia" xml:space="preserve">
<source>Social media contacts</source>
</trans-unit>
<trans-unit id="label.twitter" xml:space="preserve" translate="no">
<source>Twitter</source>
</trans-unit>
<trans-unit id="label.facebook" xml:space="preserve" translate="no">
<source>Facebook</source>
</trans-unit>
<trans-unit id="label.linkedin" xml:space="preserve" translate="no">
<source>LinkedIn</source>
</trans-unit>
<trans-unit id="label.skype" xml:space="preserve" translate="no">
<source>Skype</source>
</trans-unit>
<trans-unit id="label.birthday" xml:space="preserve">
<source>Birthday</source>
</trans-unit>
<trans-unit id="paginate_overall" xml:space="preserve">
<source>Page %s of %s</source>
</trans-unit>
<trans-unit id="paginate_next">
<source>Next</source>
</trans-unit>
<trans-unit id="paginate_previous">
<source>Previous</source>
</trans-unit>
<trans-unit id="backToList">
<target>Back to list</target>
</trans-unit>
<trans-unit id="more">
<source>More</source>
</trans-unit>
<trans-unit id="show_on_map">
<source>Show on map</source>
</trans-unit>
<trans-unit id="no_google_maps_key">
<source>No Google Maps key provided with TypoScript</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1502483828" source-language="en" datatype="plaintext" original="messages" date="2017-08-11T20:37:40Z" product-name="tt_address">
<header/>
<body>
<trans-unit id="tt_address">
<source>Address</source>
</trans-unit>
<trans-unit id="tt_address.gender">
<source>Gender</source>
</trans-unit>
<trans-unit id="tt_address.gender.m">
<source>Male (Mr)</source>
</trans-unit>
<trans-unit id="tt_address.gender.f">
<source>Female (Mrs)</source>
</trans-unit>
<trans-unit id="tt_address.gender.v">
<source>Various</source>
</trans-unit>
<trans-unit id="tt_address.gender.undefined">
<source>Undefined</source>
</trans-unit>
<trans-unit id="tt_address.first_name">
<source>First Name</source>
</trans-unit>
<trans-unit id="tt_address.middle_name">
<source>Middle Name</source>
</trans-unit>
<trans-unit id="tt_address.last_name">
<source>Last Name</source>
</trans-unit>
<trans-unit id="tt_address.birthday">
<source>Birthday</source>
</trans-unit>
<trans-unit id="tt_address.building">
<source>Building</source>
</trans-unit>
<trans-unit id="tt_address.room">
<source>Room</source>
</trans-unit>
<trans-unit id="tt_address.organization">
<source>Organization</source>
</trans-unit>
<trans-unit id="tt_address.position">
<source>Position</source>
</trans-unit>
<trans-unit id="tt_address.region">
<source>Region / State</source>
</trans-unit>
<trans-unit id="tt_address.mobile">
<source>Mobile</source>
</trans-unit>
<trans-unit id="tt_address.skype">
<source>Skype</source>
</trans-unit>
<trans-unit id="tt_address.twitter">
<source>Twitter</source>
</trans-unit>
<trans-unit id="tt_address.facebook">
<source>Facebook</source>
</trans-unit>
<trans-unit id="tt_address.instagram">
<source>Instagram</source>
</trans-unit>
<trans-unit id="tt_address.tiktok">
<source>TikTok</source>
</trans-unit>
<trans-unit id="tt_address.linkedin">
<source>LinkedIn</source>
</trans-unit>
<trans-unit id="tt_address.latitude">
<source>Latitude</source>
</trans-unit>
<trans-unit id="tt_address.longitude">
<source>Longitude</source>
</trans-unit>
<trans-unit id="tt_address.title_suffix">
<source>Title suffix</source>
</trans-unit>
<trans-unit id="tt_address.locationMapWizard">
<source>Map wizard for visual selection of coordinates</source>
</trans-unit>
<trans-unit id="tt_address.locationMapWizard.close">
<source>Close Map Wizard</source>
</trans-unit>
<trans-unit id="tt_address.locationMapWizard.import">
<source>Import marker-coordinates</source>
</trans-unit>
<trans-unit id="tt_address_tab.contact">
<source>Contact</source>
</trans-unit>
<trans-unit id="tt_address_tab.address">
<source>Address</source>
</trans-unit>
<trans-unit id="tt_address_palette.name">
<source>Name</source>
</trans-unit>
<trans-unit id="tt_address_palette.organization">
<source>Organisation</source>
</trans-unit>
<trans-unit id="tt_address_palette.address">
<source>Address</source>
</trans-unit>
<trans-unit id="tt_address_palette.building">
<source>Building</source>
</trans-unit>
<trans-unit id="tt_address_palette.contact">
<source>Contact</source>
</trans-unit>
<trans-unit id="tt_address_palette.social">
<source>Social Networks</source>
</trans-unit>
<trans-unit id="tt_address_palette.coordinates">
<source>Coordinates</source>
</trans-unit>
<trans-unit id="pi_tt_address">
<source>Addresses</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,3 @@
<div class="tx-ttaddress">
<f:render section="main"/>
</div>

View File

@@ -0,0 +1,112 @@
{namespace ttaddr=FriendsOfTYPO3\TtAddress\ViewHelpers}
<f:section name="address">
<f:if condition="{address.address}">
<div class="address" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<address>
<span itemprop="streetAddress">{address.address}</span><br>
<span itemprop="postalCode">{address.zip}</span>&nbsp;<span
itemprop="addressLocality">{address.city}</span><br>
<span itemprop="addressCountry">{address.country}</span>
</address>
</div>
</f:if>
</f:section>
<f:section name="position">
<f:if condition="{address.position}">
<p class="jobTitle" itemprop="jobTitle"><em>{address.position}</em></p>
</f:if>
</f:section>
<f:section name="contact">
<ul class="list-unstyled">
<f:if condition="{address.phone}">
<li>
<i class="fas fa-phone"></i>
{f:translate(key:'label.telephone')}: <a href="tel:{address.cleanedPhone}">
<span itemprop="telephone">{address.phone}</span>
</a>
</li>
</f:if>
<f:if condition="{address.mobile}">
<li>
<i class="fas fa-mobile-alt"></i>
{f:translate(key:'label.mobile')}: <a href="tel:{address.cleanedMobile}">
<span itemprop="telephone">{address.mobile}</span>
</a>
</li>
</f:if>
<f:if condition="{address.fax}">
<li>
<i class="fas fa-fax"></i>
{f:translate(key:'label.fax')}: <span itemprop="faxNumber">{address.fax}</span>
</li>
</f:if>
<f:if condition="{address.email}">
<li>
<i class="fas fa-envelope"></i>
{f:translate(key:'label.email')}:
<span><f:link.email email="{address.email}" /></span>
</li>
</f:if>
<f:if condition="{address.www}">
<meta itemprop="url" content="{f:uri.typolink(parameter:address.www)}"/>
<li>
<i class="fas fa-link"></i>
{f:translate(key:'label.www')}:
<f:link.typolink parameter="{address.www}">{address.wwwSimplified}</f:link.typolink>
</li>
</f:if>
<f:if condition="{address.birthday}">
<meta itemprop="birthDate" content="{address.birthday -> f:format.date(format:'%Y-%m-%d')}">
<li>
<i class="fas fa-birthday-cake"></i>
{f:translate(key:'label.birthday')}: {address.birthday -> f:format.date(format:'%d.%m.%Y')}
</li>
</f:if>
</ul>
</f:section>
<f:section name="social">
<f:if condition="{address.skype} || {address.twitter} || {address.facebook} || {address.linkedin}">
<ul class="list-inline">
<f:if condition="{address.skype}">
<li class="list-inline-item">
<i class="fab fa-skype" aria-hidden title="{f:translate(key:'label.skype')}"></i>
<span class="sr-only">{f:translate(key:'label.skype')}:</span>
<a href="skype:{address.skype}?call">{address.skype}</a>
<meta itemprop="sameAs" content="skype:{address.skype}?call"/>
</li>
</f:if>
<f:if condition="{address.twitter}">
<li class="list-inline-item">
<i class="fab fa-twitter" aria-hidden title="{f:translate(key:'label.twitter')}"></i>
<span class="sr-only">{f:translate(key:'label.twitter')}:</span>
<a href="https://twitter.com/{address.twitter}" target="_blank">{address.twitter}</a>
<meta itemprop="sameAs" content="https://twitter.com/{address.twitter}"/>
</li>
</f:if>
<f:if condition="{address.facebook}">
<li class="list-inline-item">
<i class="fab fa-facebook" aria-hidden title="{f:translate(key:'label.facebook')}"></i>
<span class="sr-only">{f:translate(key:'label.facebook')}:</span>
<a href="https://www.facebook.com/{address.facebook}" target="_blank">{address.facebook}</a>
<meta itemprop="sameAs" content="https://www.facebook.com/{address.facebook}"/>
</li>
</f:if>
<f:if condition="{address.linkedin}">
<li class="list-inline-item">
<i class="fab fa-linkedin" aria-hidden title="{f:translate(key:'label.linkedin')}"></i>
<span class="sr-only">{f:translate(key:'label.linkedin')}:</span>
<a href="https://www.linkedin.com/in/{address.linkedin}" target="_blank">{address.linkedin}</a>
<meta itemprop="sameAs" content="https://www.linkedin.com/in/{address.linkedin}"/>
</li>
</f:if>
</ul>
</f:if>
</f:section>

View File

@@ -0,0 +1,109 @@
<div class="vcard tt_address_detail" itemscope itemtype="http://schema.org/Person">
<h4 itemprop="name">{address.fullName}</h4>
<f:render section="position" partial="Address" arguments="{_all}"/>
<f:if condition="{address.image}">
<f:then>
<div class="row">
<div class="col-md-3">
<figure class="figure">
<f:image image="{address.firstImage}" width="600"
class="figure-img img-fluid img-thumbnail rounded"
alt="{address.firstImage.originalResource.alt}"
title="{address.firstImage.originalResource.title}"
additionalAttributes="{itemprop:'image'}"/>
<f:if condition="{address.firstImage.originalResource.description}">
<figcaption class="figure-caption">
{address.firstImage.originalResource.description ->
f:format.nl2br()}
</figcaption>
</f:if>
</figure>
</div>
<div class="col-md-9">
<f:render section="content" arguments="{_all}"/>
</div>
</div>
</f:then>
<f:else>
<f:render section="content" arguments="{_all}"/>
</f:else>
</f:if>
</div>
<f:section name="content">
<f:if condition="{address.description}">
<div class="description" itemprop="description">
{address.description -> f:format.html()}
</div>
</f:if>
<f:render section="address" partial="Address" arguments="{_all}"/>
<f:if condition="{address.building} || {address.room}">
<ul class="list-inline">
<f:if condition="{address.building}">
<li class="list-inline-item">
{f:translate(key:'label.building')}: {address.building}
</li>
</f:if>
<f:if condition="{address.room}">
<li class="list-inline-item">
{f:translate(key:'label.room')}: {address.room}
</li>
</f:if>
</ul>
</f:if>
<f:render section="contact" partial="Address" arguments="{_all}"/>
<f:render section="social" partial="Address" arguments="{_all}"/>
<f:if condition="{address.image -> f:count()} > 1">
<div class="address-image-rows">
<div class="row">
<f:for each="{address.image}" as="img" iteration="iterator">
<f:if condition="{iterator.cycle}>1">
<div class="col-md-4">
<figure class="figure">
<f:if condition="{img.originalResource.link}">
<f:then>
<f:link.typolink
parameter="{img.originalResource.link}"
class="media-object {settings.detail.imageClass}"
additionalAttributes="{title:img.originalResource.title}">
<f:image image="{img}" width="400"
alt="{img.originalResource.alt}"
title="{img.originalResource.title}"
class="figure-img img-fluid img-thumbnail rounded"
additionalAttributes="{itemprop:'image'}"/>
</f:link.typolink>
</f:then>
<f:else>
<a href="{f:uri.image(src:img.originalResource.publicUrl, maxWidth:1000)}"
class="media-object {settings.detail.imageClass}"
rel="images_tt_address_{address.uid}"
title="{img.originalResource.title}"
target="_blank">
<f:image image="{img}" width="400"
alt="{img.originalResource.alt}"
title="{img.originalResource.title}"
class="figure-img img-fluid img-thumbnail rounded"
additionalAttributes="{itemprop:'image'}"/>
</a>
</f:else>
</f:if>
<f:if condition="{img.originalResource.description}">
<figcaption class="figure-caption">
{img.originalResource.description -> f:format.nl2br()}
</figcaption>
</f:if>
</figure>
</div>
</f:if>
</f:for>
</div>
</div>
</f:if>
</f:section>

View File

@@ -0,0 +1,32 @@
<div class="vcard" itemscope itemtype="http://schema.org/Person">
<div class="row">
<div class="col-md-2 addressImage">
<f:link.action action="show" arguments="{address : address}"
title="{address.fullName}"
pageUid="{settings.singlePid}">
<f:if condition="{address.image}">
<f:media file="{address.firstImage}" width="400" class="img-fluid img-thumbnail rounded"
alt="{address.firstImage.originalResource.alt}"
title="{address.fullName}"/>
</f:if>
</f:link.action>
</div>
<div class="col-md-10">
<h3>{address.fullName}</h3>
<f:if condition="{address.position}">
<p class="position"><em>{address.position}</em></p>
</f:if>
<f:render section="address" partial="Address" arguments="{_all}"/>
<f:render section="social" partial="Address" arguments="{_all}"/>
<f:if condition="{settings.singlePid}">
<f:link.action action="show" arguments="{address : address}"
title="{address.fullName}"
pageUid="{settings.singlePid}" class="btn btn-default">{f:translate(key:'more')}
</f:link.action>
</f:if>
</div>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<f:widget.paginate objects="{addresses}" as="paginatedAdresses" configuration="{settings.paginate}">
<f:for each="{paginatedAdresses}" as="address" iteration="iterator">
<f:render partial="ListItem" arguments="{_all}"/>
</f:for>
</f:widget.paginate>
<f:comment><!-- todo: remove with version 8 --></f:comment>

View File

@@ -0,0 +1,74 @@
{namespace ttaddr=FriendsOfTYPO3\TtAddress\ViewHelpers}
<f:section name="leaflet">
<f:render section="rendering" arguments="{_all}"/>
<f:asset.css identifier="ttaddress-leaflet" href="EXT:tt_address/Resources/Public/Contrib/leaflet-core-1.4.0.css" />
<f:asset.css identifier="ttaddress" href="EXT:tt_address/Resources/Public/Styles/basic.css" />
<f:asset.script identifier="ttaddress-leaflet-core" src="EXT:tt_address/Resources/Public/JavaScript/leaflet-core-1.4.0.js" />
<f:asset.script identifier="ttaddress-leaflet" src="EXT:tt_address/Resources/Public/JavaScript/Frontend/Leaflet.js" />
</f:section>
<f:section name="googleMaps">
<f:if condition="{settings.map.googleMaps.key}">
<f:then>
<f:render section="rendering" arguments="{_all}"/>
<script src="https://maps.googleapis.com/maps/api/js?key={settings.map.googleMaps.key}"
type="text/javascript"></script>
<script type="text/javascript" src="{f:uri.resource(path:'JavaScript/Frontend/GoogleMaps.js')}"></script>
</f:then>
<f:else>
<div class="alert alert-danger">{f:translate(key:'no_google_maps_key')}</div>
</f:else>
</f:if>
</f:section>
<f:section name="staticGoogleMaps">
<f:if condition="{settings.map.staticGoogleMaps.parameters.key}">
<f:then>
<img src="{ttaddr:staticGoogleMaps(parameters:settings.map.staticGoogleMaps.parameters,addresses:addresses)}" />
</f:then>
<f:else>
<div class="alert alert-danger">{f:translate(key:'no_google_maps_key')}</div>
</f:else>
</f:if>
</f:section>
<f:section name="rendering">
<div class="row">
<div class="col-md-3">
<ul class="list-group">
<f:for each="{addresses}" as="address" iteration="i">
<li id="ttaddress__label-{address.uid}" class="ttaddress__label list-group-item">
<strong>{address.fullName}</strong><br>
<f:render partial="Address" section="address" arguments="{_all}"/>
<a href="#" data-iteration-id="{i.index}" class="ttaddress__markerlink">{f:translate(key:'show_on_map')}</a>
</li>
</f:for>
</ul>
</div>
<div class="col-md-9">
<div id="ttaddress__map" data-default-lat="{settings.map.defaultPosition.lat}"
data-default-lng="{settings.map.defaultPosition.lng}"></div>
<ul id="ttaddress__records">
<f:for each="{addresses}" as="address">
<div id="ttaddress__record-{address.uid}" data-id="{address.uid}" data-lat="{address.latitude}"
data-lng="{address.longitude}" data-icon="icon">
<h6>{address.fullName}</h6>
<div>
<f:render partial="Address" section="address" arguments="{_all}"/>
<f:render partial="Address" section="contact" arguments="{_all}"/>
<f:if condition="{settings.singlePid}">
<f:link.action action="show" arguments="{address : address}" title="{address.fullName}" class="btn"
pageUid="{settings.singlePid}">{f:translate(key:'more')}
</f:link.action>
</f:if>
</div>
</div>
</f:for>
</ul>
</div>
</div>
</f:section>

View File

@@ -0,0 +1,9 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:ttaddr="http://typo3.org/ns/FriendsOfTYPO3/TtAddress/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:variable name="address">{address.fullName} {f:if(condition: address.phone,then:'☎ {address.phone}')} {f:if(condition: address.addressInOneLine,then:'➤ {address.addressInOneLine}')}</f:variable>
<ttaddr:metaTag property="description">{address}</ttaddr:metaTag>
<ttaddr:metaTag property="og:description">{address}</ttaddr:metaTag>
</html>

View File

@@ -0,0 +1,52 @@
<ul class="f3-widget-paginator">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<f:comment>
<li class="first">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: 1})}" title="{f:translate(key:'pagination.first')}">
<i class="material-icons">first_page</i>
</a>
</li>
</f:comment>
<li class="previous">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.previousPageNumber})}" title="{f:translate(key:'widget.pagination.previous', extensionName: 'fluid')}">
{f:translate(key:'widget.pagination.previous', extensionName: 'fluid')}
</a>
</li>
</f:then>
<f:else>
<f:comment>
<li class="disabled"><span><i class="material-icons">first_page</i></span></li>
<li class="disabled"><span>{f:translate(key:'widget.pagination.previous', extensionName: 'fluid')}</span></li>
</f:comment>
</f:else>
</f:if>
<f:for each="{pagination.allPageNumbers}" as="page">
<li class="{f:if(condition: '{page} == {paginator.currentPageNumber}', then:'current')}">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: page})}">{page}</a>
</li>
</f:for>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="next">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.nextPageNumber})}" title="{f:translate(key:'widget.pagination.next', extensionName: 'fluid')}">
{f:translate(key:'widget.pagination.next', extensionName: 'fluid')}
</a>
</li>
<f:comment>
<li class="last">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.lastPageNumber})}" title="{f:translate(key:'pagination.last')}">
last
</a>
</li>
</f:comment>
</f:then>
<f:else>
<f:comment>
<li class="disabled"><span>{f:translate(key:'widget.pagination.previous', extensionName: 'fluid')}</span></li>
<li class="disabled"><span>last page</span></li>
</f:comment>
</f:else>
</f:if>
</ul>

View File

@@ -0,0 +1,40 @@
<f:layout name="Default"/>
<f:section name="main">
<div class="tt_address_list">
<f:render section="displayMode_{settings.displayMode}" arguments="{_all}" />
</div>
</f:section>
<f:section name="displayMode_list">
<!--TYPO3SEARCH_end-->
<f:if condition="{settings.hidePagination}">
<f:then>
<f:for each="{addresses}" as="address" iteration="iterator">
<f:render partial="ListItem" arguments="{_all}"/>
</f:for>
</f:then>
<f:else>
<f:if condition="{settings.paginate.insertAbove}">
<f:render partial="Pagination" arguments="{pagination: pagination.pagination, pages: pagination.pages, paginator: pagination.paginator}" />
</f:if>
<f:for each="{pagination.paginator.paginatedItems}" as="address" iteration="iterator">
<f:render partial="ListItem" arguments="{_all}"/>
</f:for>
<f:if condition="{settings.paginate.insertBelow}">
<f:render partial="Pagination" arguments="{pagination: pagination.pagination, pages: pagination.pages, paginator: pagination.paginator}" />
</f:if>
</f:else>
</f:if>
<!--TYPO3SEARCH_begin-->
</f:section>
<f:section name="displayMode_single">
<f:for each="{addresses}" as="address">
<f:render partial="Full" arguments="{_all}"/>
</f:for>
</f:section>
<f:section name="displayMode_map">
<f:render partial="Maps" section="{settings.map.rendering}" arguments="{_all}"/>
</f:section>

View File

@@ -0,0 +1,6 @@
<f:layout name="Default"/>
<f:section name="main">
<f:render partial="MetaTags" arguments="{_all}" />
<f:render partial="Full" arguments="{_all}"/>
</f:section>

View File

@@ -0,0 +1,95 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:variable name="flex">{pi_flexform_transformed.settings}</f:variable>
<table class="table table-condensed table-triped">
<thead>
<tr>
<td colspan="2"><strong>{f:translate(key:'LLL:EXT:tt_address/Resources/Private/Language/db/locallang.xlf:extbase_title')}</strong>
</td>
</tr>
</thead>
<tbody>
<f:if condition="{flex.displayMode}">
<tr>
<th>{f:translate(key:'{_computed.lll}displayMode')}</th>
<td>
<f:switch expression="{flex.displayMode}">
<f:case value="list">{f:translate(key:'{_computed.lll}displayMode.listView')}</f:case>
<f:case value="single">{f:translate(key:'{_computed.lll}displayMode.singleView')}
</f:case>
<f:case value="map">{f:translate(key:'{_computed.lll}displayMode.map')}</f:case>
<f:defaultCase>{flex.displayMode}</f:defaultCase>
</f:switch>
</td>
</tr>
</f:if>
<f:if condition="{_computed.singleRecords}">
<tr>
<th>{f:translate(key:'{_computed.lll}single_records')}</th>
<td>
<f:for each="{_computed.singleRecords}" as="row">
<f:render section="rowElement" arguments="{table:'tt_address', row:row}"/>
</f:for>
</td>
</tr>
</f:if>
<f:if condition="{_computed.pages}">
<tr>
<th>{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.startingpoint')}
</th>
<td>
<f:for each="{_computed.pages}" as="row">
<f:render section="rowElement" arguments="{table:'pages', row:row}"/>
</f:for>
<f:if condition="{flex.recursive}">
{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.recursive')}:
{f:translate(key:'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.{flex.recursive}')}
</f:if>
</td>
</tr>
</f:if>
<f:if condition="{_computed.singlePid}">
<tr>
<th>{f:translate(key:'{_computed.lll}singlePid')}</th>
<td>
<f:render section="rowElement" arguments="{table:'pages', row:_computed.singlePid}"/>
</td>
</tr>
</f:if>
<f:if condition="{_computed.groups}">
<tr>
<th>{f:translate(key:'{_computed.lll}group_selection')}</th>
<td>
<f:for each="{_computed.groups}" as="row">
<f:render section="rowElement" arguments="{table:'sys_category', row:row}"/>
</f:for>
<hr style="margin:5px"/>
{f:translate(key:'{_computed.lll}combination')}:
<f:if condition="{flex.groupsCombination}">
<f:then>
{f:translate(key:'{_computed.lll}combination.or')}
</f:then>
<f:else>
{f:translate(key:'{_computed.lll}combination.and')}
</f:else>
</f:if>
<br>
<f:if condition="{flex.includeSubcategories}">
<core:icon identifier="actions-check" size="small"/>
{f:translate(key:'{_computed.lll}includeSubcategories')}
</f:if>
</td>
</tr>
</f:if>
</tbody>
</table>
<f:section name="rowElement">
<a href="#" class="t3js-contextmenutrigger" data-table="{table}" data-uid="{row.uid}" title="id={row.uid}">
<core:iconForRecord row="{row}" table="{table}"/>
</a>
{row._computed.title}<br>
</f:section>
</html>