Masonry

Masonry Anwendung für Typo3 tx_news Listen Ansicht.

Masonry ist eine JavaScript-Rasterlayoutbibliothek. Es funktioniert, indem Elemente basierend auf dem verfügbaren vertikalen Raum in einer optimalen Position platziert werden.

Downloads
masonry.pkgd.js

imagesloaded.pkgd.js


Weitere Informationen
https://masonry.desandro.com/
https://imagesloaded.desandro.com/  
https://github.com/desandro/masonry  

Templates/News/List.html

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
    xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
    data-namespace-typo3-fluid="true">
<f:layout name="General" />
<!--
  =====================
    Templates/News/List.html
-->

<f:section name="content">
  <f:if condition="{news}">
      <f:then>

        <f:if condition="{settings.templateLayout} == 1">
              <div class="slot-grid">
                    <div class="grid">
                        <div class="grid-sizer"></div>
                              <f:for each="{news}" as="newsItem">
                                   <f:render partial="List/blog" arguments="{newsItem: newsItem, settings:settings}"/>
                               </f:for>
                         </div>    
                     <br style="clear:left;"/></div>    
        </f:if>
      
      </f:then>
  </f:if>    
</f:section>

</html>


Partials
 

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
    xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
    data-namespace-typo3-fluid="true">

  <div class="grid-item">
            
            <f:if condition="{newsItem.mediaPreviews}">
            
            <f:then>
            <n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
              <f:alias map="{mediaElement: newsItem.mediaPreviews.0}">
                <f:if condition="{mediaElement.originalResource.type} == 2">
                  <f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" width="{f:if(condition: settings.media.width, then: settings.media.width, else: settings.list.media.image.width)}" height="{f:if(condition: settings.media.height, then: settings.media.height, else: settings.list.media.image.height)}"/>
                </f:if>          
              </f:alias>
            </n:link>  
            </f:then>
          </f:if>
          
          <div class="text-grid-3">
            
            <n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
                     <h2>{newsItem.title}</h2>
            </n:link>
                   {newsItem.teaser}<br><br>
                   <n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
                     &#10230;
                   </n:link>
                   
                   <f:if condition="{newsItem.tags}">
              <!-- Tags -->
              <div class="news-list-date">
              <span class="news-list-tags" itemprop="keywords">
                <f:for each="{newsItem.tags}" as="tag">
                  {tag.title}
                </f:for>
              </span>
              </div>
            </f:if>
            
            <div class="news-list-date">
              <time itemprop="datePublished" datetime="{f:format.date(date:newsItem.datetime, format:'Y-m-d')}">
                <f:format.date format="{f:translate(key:'dateFormat')}">{newsItem.datetime}</f:format.date>
              </time>
            </div>
            
          </div>  
                   
            
  </div>

</html>


Aktivieren
 

<script type="text/javascript" src="/fileadmin/scripts/masonry.pkgd.js"></script>
<script type="text/javascript" src="/fileadmin/scripts/imagesloaded.pkgd.js"></script>

<script type="text/javascript">
// init Masonry
var $grid = $('.grid').masonry({
  itemSelector: '.grid-item',
  percentPosition: true,
  columnWidth: '.grid-sizer',
  
  });
  
// layout Masonry after each image loads
  $grid.imagesLoaded().progress( function() {
  $grid.masonry();
});
</script>


CSS
 

.slot-grid {float: left; width: 100%; margin: 0 0%; text-align: left;}

.grid {
  position: relative;
  width: 100%; margin: 0 0%;
  
}

/* clear fix */
.grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ---- .grid-item ---- */
.grid-sizer,
.grid-item {  
  width: 31.33333333333%;
  margin: 1%;
  padding:0%;  
  float: left;
  display: block;
  overflow: hidden;
}

/* ---- .grid-item partials ---- */
.text-grid-3 {
  float: left; width: 90%;  padding:8% 5% 5% 5%;  text-align: left; background:#eeeeee; 
}
.text-grid-3 h2 {text-transform: none; font-weight: 800; text-transform: uppercase }
.text-grid-3 a {color: #000;}

.news-list-date { float:left; width: 100%;font-size: 0.8vw; line-height:0.8vw; padding: 0 0 1.0em 0; text-align:right;}


Warum AOS grundsätzlich SEO-freundlich ist

Die Verwendung der AOS (Animate On Scroll) Library hat keine negativen Auswirkungen auf das SEO,…



⟶

Typo3 13 - PHP Konfiguration im Plesk

1. PHP 8.3

2. PHP FPM Anwendung typo3

3. typo3temp > var > cache > Gesamter Cache löschen

4.…



⟶

Sys Log E_WARNING unterdrücken

Wenn Sie die Einstellungen über die grafische Oberfläche vornehmen möchten, loggen Sie sich als…



⟶

Google Ads ohne Conversions wegen gad_source?

Google Ads, Umstellung auf "gad" "gad_source", Anpassungen in den Typo3 Pagesettings.

Anpassungen >…



⟶

tx_news Listen Ansicht

Alternierende Layouts



⟶

TYPO3 YOAST SEO

Vorschau für eine Passwortgeschützte Seite.



⟶
SEO Typo3 PHP

Outline Effekt

Outline Effekt mit CSS erstellen



⟶
CSS

Typo3 V 12 Typoscript Einbindung

Typoscript Einbindung

Typoscript ab Typo3 Version 12 korrekt einbinden.



⟶

CSS - Checkbox & Radio Buttons

Checkbox und Radio Buttons mit css stylen



⟶
CSS

AOS Animate On Scroll Library

Webseiten-Inhalte beim Scrollen einblenden



⟶
CSS Java Script

Random Content

Inhalte zufällig auslesen



⟶
Typo3 Typo Script

IMG_RESOURCE

Bild aus Seiten Ressourcen auslesen.



⟶
Typo Script

RTE CKEditor - Code-Snippet

Der seit TYPO3 8 verwendete RTE CKEditor kann sehr gut auf die eigenen Bedürfnisse konfiguriert…



⟶
Typo3 Typo Script

Sprachen Variablen ab Version 9

globalVar und Language



⟶
Typo Script

DSGVO-konform

Google Fonts lokal einbinden. Anstatt die Schriften vom Google Server zu laden, können diese auch…



⟶

Sitemap

Die XML-Sitemap richtig routen



⟶
Typo Script XML

Flexible Container und Grids

Wie man flexible seiteninterne Strukturen mit einer einfachen Erweiterung Core-nah hinzufügt.



⟶
Typo3 Typo Script PHP

Transfonter

Online Webfont Generator



⟶
CSS

SEO Typo3 News

Sitemap für News mit mehreren Landing Pages.



⟶

TYPO3 Installieren

Mit Symlinks ohne SSH per FTP installieren



⟶
PHP Typo3

Inline Youtube Video

Youtub link mit einer css classe "youtube-play" in ein iFrame umwandeln



⟶

Masonry

Masonry Anwendung für Typo3 tx_news Listen Ansicht.



⟶

Gridelements

Mittels der Extension Grid Elements erhält der TYPO3-Entwickler die Möglichkeit, komfortabel…



⟶
Typo3 Typo Script

Clickstorm SEO

cs_seo Extension optimiert SEO für TYPO3



⟶
Typo3

Slick Slider & News

Typo3 tx_news Listview Slider ohne Erweiterung erstellen, Beispiel mit dem Open Source Slick Slider.



⟶

tx_news verschiedene Bildgrössen

Bildgrösse anpassen in der ListView und der DetailView



⟶

tx_news Powermail

Felder von tx_news an Powermail übergeben, in diesem Fall für eine Event Anmeldung..



⟶
Typo3 Typo Script

Mehrere Detail Templates

Hier ist beschrieben, wie Ihr die Detail-Ansicht auf mehrere Templates aufbaut. Dieser Part…



⟶

Fluid Templates

Fluid Templates: HTML-Vorlagen als Grundgerüst der Webseite



⟶
Typo Script Typo3

Site Configuration ab TYPO3 Version 9

Seit Version 9.5 beherrscht TYPO3 "Sprechende URLs" ohne Erweiterungen. Ihr benötigt nur eine Site…



⟶

Jquery Beispiele

Mobile Menu, Menu .fadeToggle(), Responsive, window.matchMedia



⟶

Typo Script Basics

Random Content, Aktuelles Datum ausgeben, tx_news date, tx_news alle Kategorien ausgeben



⟶
Typo3 Typo Script

mp4 Video

Video full Screen einbinden



⟶

tx_news

Template Selector & Templates, show in all view default, tx_news alle Kategorien ausgeben



⟶

Page Transitions.

A simple and easy jQuery plugin for CSS animated page transitions



⟶

Partner & Links

Inspiration & Wissen.



⟶