Initial commit - Typo3 11.5.41
This commit is contained in:
112
typo3conf/ext/tt_address/Resources/Private/Partials/Address.html
Normal file
112
typo3conf/ext/tt_address/Resources/Private/Partials/Address.html
Normal 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> <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>
|
||||
109
typo3conf/ext/tt_address/Resources/Private/Partials/Full.html
Normal file
109
typo3conf/ext/tt_address/Resources/Private/Partials/Full.html
Normal 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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user