Hauptmenü

Werkzeuge

Kategorien

Archiv

Mit TYPO3 und VHS überprüfen ob eine Seite unter einer anderen Seite liegt

Erstellt in Allgemein am 12. Mai 2020 vom Daschmi

Mit folgendem Fluid Tempalate Code kann man mittels VHS überprüfen ob eine Seite unter einer anderen Seite liegt.

<f:variable name="rootline" value="{v:page.rootline() -> v:iterator.extract(key: 'uid')}" />
<f:variable name="in_rootline" value="{v:condition.iterator.contains(needle:'3', haystack: rootline, then:'1', else:'0')}" />

Mittels

<f:debug>{rootline}</code>
<f:debug>{in_rootline}</code>

Kann man dies in <f:if> etc. verwenden. in_rootline wird 1 wenn die Seite enthalten ist und 0 wenn die Seite nicht enthalten ist.

Section Frame Wrap nach TYPO3 DCE Update weg

Erstellt in Allgemein am 7. April 2020 vom Daschmi

Nach einem Update von TYPO3 und der DCE Extension war bei mir der umschließende Container weg. Die Default.html aus dem Layout von FluidStyledContent wurde gar nicht verwendet.

Der Grund war diese neue Option, die nun standardmäßig auf an steht.

Ich habe von TYPO3 9.5.4 auf 9.5.15 und die DCE Extension von 1.6.0 auf 2.3.1 aktualisiert.

Gleichschenkliges Dreieck auf Gerade um Punkt (Pfeil)

Erstellt in Allgemein am 25. März 2020 vom Daschmi

Mit folgender Funktion kann man ein gleichschenkliges Dreieck mit BC = hc auf ein Canvas zeichnen. Dei Position des Dreieckes ist durch die zwei Punkte A und D bestimmt, die die Strecke von A nach D definieren.

Die Funktion kann rechts getestet werden. Der Javascript Code folgt hier:

let canvas = document.getElementById('canvas');
        
function arrow(Ex, Ey, Tx, Ty) {

    let ctx = canvas.getContext('2d'); 

    let ET = Math.sqrt(Math.pow(Tx - Ex, 2) + Math.pow(Ey - Ty, 2));
    let EL = Math.sqrt(Math.pow(ET / 2, 2) + Math.pow(ET, 2));
    let Alpha = Math.acos(ET / EL);
    let Alpha2 = Math.asin((Ey - Ty) / ET);

    let x_L = EL * Math.cos(Alpha + Alpha2);
    let y_L = EL * Math.sin(Alpha + Alpha2);

    let x_R = EL * Math.cos(Alpha - Alpha2);
    let y_R = EL * Math.sin(Alpha - Alpha2);

    let Rx = Ex + ((Tx > Ex)?1:-1) * x_R;
    let Ry = Ey + y_R;

    let Lx = Ex + ((Tx > Ex)?1:-1) * x_L;
    let Ly = Ey - y_L; 

    ctx.clearRect(0, 0, 300, 300);

    ctx.beginPath();
    ctx.moveTo(Ex, Ey);
    ctx.lineTo(Rx, Ry);
    ctx.lineTo(Lx, Ly);
    ctx.lineTo(Ex, Ey);
    ctx.stroke(); 

}

canvas.addEventListener('mousemove', function(e) { 
    
    arrow(150, 150, e.offsetX, e.offsetY);

}); 

Dateigrößen mit Typescript/Javascript formatieren

Erstellt in Allgemein am 19. März 2020 vom Daschmi

Mit folgender Funktion lassen sich Dateigrößen, die als Bytes übergeben werden formatieren. Kann leicht als Vue Filter verwendet werden.

export function fs(size: number): string {
 
    let mod = 1024;
    let units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
    let i = 0;
    
    for (i = 0; size > mod; i ++) {

        size = size / mod;        
    
    }
    
    return round(size, 2) + ' ' + units[i];
    
}