Code Monkey home page Code Monkey logo

media_manager_responsive's People

Contributors

alxndr-w avatar eace avatar godsdog avatar ynamite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ynamite godsdog

media_manager_responsive's Issues

alt-Text überschreiben

Es wäre sehr nützlich wenn man den alt-Text beim Bildaufruf überschreiben könnte. Standardmässig wird ja der Bildtitel aus dem Medienpool geladen, manchmal ist es aber hilfreich, wenn man den benutzerdefiniert setzen könnte. Sowas in der Art:

rex_media_plus::get($entry['img'])->setAltText('Meine benutzerdefinierter Alt-Text')->getPicture('news-home');

oder so ähnlich

Reihenfolge Verknüpfte Medientypen wenn nur min-width verwendet wird (wie empfohlen)

Die verknpüften Medientypen müssen in Bezug auf min-width von gross nach klein (zuerst die höchste min-width) sortiert werden, damit die korrekte grösse geladen wird (zumindest in Firefox und gemäss Picture bzw. Source Spezifikation, siehe https://html.spec.whatwg.org/multipage/embedded-content.html#attr-source-media und https://stackoverflow.com/a/41063084).

the browser goes over the list of sources and picks the first one that matches.

Funktioniert nicht

<picture>
  <source media="all AND (min-width: 1px)" sizes="" type="image/jpeg" data-width="400" data-height="105"
    srcset="/media/bild-md/bild.jpg?timestamp=1674658426">
  <source media="all AND (min-width: 480px)" sizes="" type="image/jpeg" data-width="800" data-height="210"
    srcset="/media/bild-xl/bild.jpg?timestamp=1674658426">
    <img type="image/jpeg"
    src="/media/bild-sm/bild.jpg?timestamp=1674658426" alt="" loading="lazy" width="400" height="105">
</picture>

Funktioniert

<picture>
  <source media="all AND (min-width: 480px)" sizes="" type="image/jpeg" data-width="800" data-height="210"
    srcset="/media/bild-xl/bild.jpg?timestamp=1674658426">
  <source media="all AND (min-width: 1px)" sizes="" type="image/jpeg" data-width="400" data-height="105"
    srcset="/media/bild-md/bild.jpg?timestamp=1674658426">
    <img type="image/jpeg"
    src="/media/bild-sm/bild.jpg?timestamp=1674658426" alt="" loading="lazy" width="400" height="105">
</picture>

Wahrscheinlich ist dir das klar, aber die Hilfeseite des Addons erklärt das nicht und bin erst selbst darüber gestolpert.

whooops nach update auf 1.1.2

Whooops nach update im Backend, danach nur noch im Safe-Mode aufrufbar.

Statt public function setClass(:string $class)
müsste es public function setClass($class) :string sein.
Nachdem ich das manuell angepasst habe, klappt's wieder :)

ParseError: syntax error, unexpected token ":", expecting variable
File: redaxo/src/addons/media_manager_responsive/lib/rex_media_plus.php
Line: 26

Stacktrace
Function File Line
rex_autoload::autoload redaxo/src/core/lib/extension.php 78
rex_extension::register redaxo/src/addons/media_manager_responsive/boot.php 15
require redaxo/src/core/lib/packages/package.php 233
rex_package->includeFile redaxo/src/core/lib/packages/package.php 395
rex_package->boot redaxo/src/core/packages.php 25
{closure} redaxo/src/core/lib/util/timer.php 62
rex_timer::measure redaxo/src/core/packages.php 24
{closure} redaxo/src/core/lib/util/timer.php 62
rex_timer::measure redaxo/src/core/packages.php 22
include_once redaxo/src/core/backend.php 199
require redaxo/src/core/boot.php 155
require redaxo/index.php 10
System report (REDAXO 5.15.1, PHP 8.2.3, MariaDB 10.3.38)
REDAXO
Version 5.15.1
PHP
Version 8.2.3
OPcache yes
Xdebug no
Warning Das Setup wird unverschlüsselt durchgeführt. Frontend und Backend sollten grundsätzlich durch HTTPS verschlüsselt aufgerufen werden, um die Privatsphäre zu schützen und den Datenschutz zu gewährleisten.
Database
Version MariaDB 10.3.38
Character set utf8
Server
OS Linux
SAPI cgi-fcgi
Webserver Apache
Request
Browser Firefox/111.0
Protocol HTTP/1.0
HTTPS no
Packages
adminer 1.9.3
article_presets 1.2.0
backup 2.9.0
be_password 2.0.1
be_style 3.2.0
be_style/customizer 3.2.0
be_style/redaxo 3.2.0
be_tools 1.7.8
bloecks 3.1.1
bloecks/cutncopy 3.1.1
bloecks/dragndrop 3.1.1
bloecks/status 3.1.1
clear_content 1.1.1
consent_manager 4.0.3
cropper 1.4.0
developer 3.9.2
focuspoint 4.0.4
hyphenator 1.3.0
install 2.11.1
massif 1.0.0
massif_minify 1.3.2
massif_settings 1.0.0
mblock 3.4.12
media_manager 2.14.0
media_manager_responsive 1.1.2
media_negotiator 2.0.0
mediapool 2.13.0
metainfo 2.10.0
mform 7.2.7
phpmailer 2.12.0
plyr 3.20.5
project dev
speed_up 1.3.1
sprog 1.5.1
statistics 2.4.0
statistics/media 2.4.0
structure 2.15.0
structure/content 2.15.0
structure/history 2.15.0
structure_tweaks 1.4.0
theme 1.3.3
theme_lock 1.0.0
tinymce5 1.2.17
ui_tools 1.2.2
ui_tools/bootstrap-datetimepicker 4.17.47
ui_tools/jquery-minicolors 2.4.0
ui_tools/selectize 0.2.0
uploader 2.4.1
url 2.1.0
useragent 2.3.0
users 2.10.0
yform 4.1.0
yform/email 4.1.0
yform/manager 4.1.0
yform/tools 4.1.0
yform_adminer 1.2.0
yform_geo_osm 1.2.8
yform_quick_edit 1.0.1
yform_spam_protection 2.0-beta4
yform_usability 2.0.9
yrewrite 2.9.1

Addon umbenennen

In managed_media_responsive, um in der Installer-Suche weiter oben aufzutauchen.

Automatische Sortierung verbessern

Momentan wird nach Prio sortiert, berücksichtigt aber nicht die ratio, min/max-Werte. Das bedeutet bei nicht optimaler Konfiguration, dass das kleinste Bild und nicht das passende Bild geladen wird.

`rex_media_manager::getUrl($type, $media);` verwenden

https://github.com/redaxo/redaxo/blob/main/redaxo/src/addons/media_manager/lib/media_manager.php#L569

statt

public static function getFrontendUrl(rex_media|rex_media_plus|rex_managed_media $media, string $profile = null, bool $show_timestamp = true) :string
{
if ($media instanceof rex_media or $media instanceof rex_media_plus) {
$filename = $media->getFileName();
} elseif ($media instanceof rex_managed_media) {
# $filename = $media->getMediaFilename();
# Workaround wg. https://github.com/redaxo/redaxo/issues/4519#issuecomment-1183515367
$path = explode(DIRECTORY_SEPARATOR, $media->getMediaPath());
$filename = array_pop($path);
}
$timestamp = '';
if ($show_timestamp) {
if ($media instanceof rex_managed_media) {
$timestamp = '?timestamp='.filectime($media->getSourcePath());
} elseif ($media instanceof rex_media or $media instanceof rex_media_plus) {
$timestamp = '?timestamp='.filectime(rex_path::media($filename));
}
}
if ($profile) {
return rex_url::media($profile. '/'. $filename) . $timestamp;
}
return rex_url::media($filename) . $timestamp;
}

Fehler beim Aufruf der Funktion rex_media_plus::get("beispielbild.jpg")->getPicture($group);

In der aktuellen Version kommt es zu einem Fehler beim Aufruf der Funktion "rex_media_plus::get".

In der Version 1.0.1 habe ich ein Bild wie folgt in einem Modul eingebunden / ausgegeben:

$media = rex_media_plus::get("REX_MEDIA[1]"); 
$fe_img = $media->getPicture('bxslider'); 

Lt. Doku erfolgt die Einbindung wie folgt:
rex_media_plus::get("beispielbild.jpg")->getPicture($group);

Konkret heißt das:
$media = rex_media_plus::get("REX_MEDIA[1]")->getPicture('bxslider');

Im Frontend wird der folgende Fehler angezeigt:

TypeError thrown with message "implode(): Argument #2 ($array) must be of type ?array, string given"

PHP 8.0.27, Redaxo 5.14.2)

`rex_media_plus::get("beispielbild.jpg")->getBackgroundStyles($group);` funzt nicht -> whooops

echo rex_media_plus::get("beispielbild.jpg")->getBackgroundStyles($group); funktioniert nicht und gibt einen whooops.

In rex_media_plus.php habe ich die Methoe getBackgroundStyleswie folgt geändert:

public function getBackgroundStyles($group_name, $selector)
{
    return media_manager_type_group::getBackgroundStyles($this->getFilename(), $group_name, $selector);
}

und Aufruf dann wie folgt, dann klappts :)

echo rex_media_plus::get('REX_MEDIA[1]')->getBackgroundStyles('gruppenname', '#hintergrundbild');

Sehr cooles Addon btw.

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.