Giter Site home page Giter Site logo

media_manager_autorewrite's Introduction

MM Autorewrite

Dieses AddOn macht automatisch aus deinen Media Manager URLs schöne URLs (über den OUTPUT_FILTER). Funktioniert für alle Attribute (src="index.php..", href="index.php...", jedoch nicht für Background-Images). Die Attribute können eingestellt werden. Das media_manager_srcset AddOn rewrited in der neuesten Version automatisch. background-images können manuell rewrited werden. (siehe unten)

index.php?rex_media_type=ImgTypeName&rex_media_file=ImageFileName

wird zu

media/mediatype/filename.jpg

Es wird automatisch innerhalb von src, href und data-highresmobile gesucht. Es können weitere auf der AddOn Page angegeben werden.

Screenshot

Settingspage

Die Settingspage integriert sich als Tab-Reiter innerhalb des AddOns yRewrite. Innerhalb der Settingspage kann die Base-Einstellung aktiviert oder deaktiviert werden. Des Weiteren kann der Media Manager Expire-Fix zugeschaltet werden, falls deine .htaccess das Ablaufdatum für Mediamanager Medien nicht beeinflussen kann.

Installation

Hinweis: dies ist kein Plugin!

  • Release herunterladen und entpacken.
  • Ordner umbenennen in media_manager_autorewrite.
  • In den Addons-Ordner legen: /redaxo/src/addons.

Oder den REDAXO-Installer / ZIP-Upload AddOn nutzen!

Manuell

Wenn du z.B. ein inline background-image rewriten willst, musst du das in deiner Ausgabe manuell machen. Anstatt den kompletten String anzugeben, kannst du auch einfach nur folgendes machen

Falls du bereits Redaxo 5.7 nutzt, kannst du auch direkt auf Boardmittel zugreifen, denn der Core liefert jetzt selbst eine Funktion dafür.

<?php
    echo rex_media_manager::getUrl($type, $file, $timestamp = null);
    // $timestamp ist für Cache Busting interessant

Siehe: https://github.com/redaxo/redaxo/blob/master/redaxo/src/addons/media_manager/lib/media_manager.php#L388

  • Für User mit diesem AddOn und Redaxo < 5.7
<?php
    echo mm_auto::rewrite('dateiname.jpg', 'imagetype');
    // Ausgabe: /media/imagetyp/dateiname.jpg (oder ../images/, abhängig von der BASE-Tag Einstellung)
?>

Voraussetzungen

  • yrewrite AddOn
  • media_manager AddOn

Thanks

  • Jan Camrda (@jdlx) für das Herz dieses AddOns, die Regular-Expression zum Ersetzen.
  • Joachim Dörr für die Settingspage und Hilfe bei der Einrichtung

media_manager_autorewrite's People

Contributors

fanello avatar hirbod avatar interweave-media avatar joachimdoerr avatar nandes2062 avatar schuer avatar skerbis avatar tobiaskrais avatar ytraduko-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

media_manager_autorewrite's Issues

Unterverzeichnis?

Wenn Redaxo in einem Unterverzeichnis installiert wird, funktionieren die Links nicht.

Ping

@schuer kannst das noch irgendwie in die Friendspage reinhauen? Ist neu das AddOn

Eigene Url

Ist es denkbar, eigene URLS für die Bilder vorzusehen? Ähnlich den URL Einstellungen der Artikel? Falls nicht wäre es eine Alternative die Bilder so aufzubauen: www.domain.de/image_mediatyp.jpg. So wären die Urls kürzer und schöner und die Bilder wären trotzdem sauber nach Medientyp benannt.

data-srcset

Wenn ich data-srcset hinzufüge, wird nur das erste Bild im Set ersetzt.

Problem mit weiteren Parametern in URL

Description / Beschreibung
Ich hatte mir einen Effekt gebaut, der eine weitere ID verwendet.
Er wandelt dann die URL in folgende: http://localhost/media/img480-unterkunft/BlickLoreley2.jpeg&id=43

Ich habe mir jetzt erst mal beholfen, in dem ich einen anderen Parameter anhänge.

  $ep->setSubject(preg_replace_callback(
            $regex,
            function ($match) use ($ep, $path) {
                $rewrite = ($match[1] == 'rex_media_type' && $match[3] == 'rex_media_file')
                ? '="'.$path.'media/'.$match[2].'/'.$match[4]."?do=1"
                : '="'.$path.'media/'.$match[4].'/'.$match[2];
    
                return $rewrite;
            },
            $ep->getSubject())
        );

Ich bin kein regex Experte. Ist es möglich, das erste & durch ein ? zu ersetzen?

Affected versions / Verwendete Versionen
media_manager_autorewrite 2.0.1

Update auf v2.0.0 macht Artikel in Kategorie 'Media' unerreichbar

Hej,
das Update auf v2.0.0 macht Artikel in der Kategorie 'Media' unerreichbar; z.B. liefert ein Artikel /media/downloads.html einen Fehler 404. Wir nutzen die Kategorie sehr intensiv, schon aus Redaxo-Urzeiten, als die Bilder noch im /images Verzeichnis lagen. Bisher gab es bei der Koexistenz von Artikeln und Medienpool im Verzeichnis /media keine Probleme.

Ich hätte gerne einen PR angeboten, kann die .htaccess aber leider nicht finden. Darum hier mein Änderungsvorschlag:

RewriteCond %{REQUEST_URI} !\.(htm|html)$
RewriteRule ^media/([^/]+)/(.*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2&%{QUERY_STRING} [B]
RewriteCond %{REQUEST_URI} !\.(htm|html)$
RewriteRule ^media/(.*) %{ENV:BASE}/index.php?rex_media_type=default&rex_media_file=$1&%{QUERY_STRING} [B]

Neu sind die beiden RewriteCond Zeilen. Dadurch wird alles außer .htm(l) Dateien umgeschrieben.

Ich hoffe ihr berücksichtigt meine Ergänzung.

Vielen Dank und Liebe Grüße
Oliver

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.