Ergebnis 1 bis 14 von 14

Thema: Bildgrössen in verschiedenen Rendersettings festlegen

  1. #1
    Contao-Fan
    Registriert seit
    14.09.2014.
    Beiträge
    269

    Standard Bildgrössen in verschiedenen Rendersettings festlegen

    Hallo Leute,

    ich hab ein Problem mit der Ausgabe von Bildern.

    Ich hab ein Metamodel in dem es ein Attribut "Headerbild" vom typ "file" gibt.

    Damit lass ich immer passend zur aufgerufenen Seite ein Headerbild anzeigen, ich möchte dieses Bild noch in anderen Bereichen anzeigen aber in einer anderen Grösse.

    Mein Problem ist das das headerbild einwandfrei funktioniert aber wenn ich das Bild mit anderen Rendersettings in einem anderen Bereich einbinde und in den Rendersettings dann "Als Bildfeld mit Vorschaubild benutzen" und hier dann die Abmessungen eingebe wird dies nicht berücksichtigt, ich möchte aus einem bild das 1122x320px gross ist 400x200 mitte-mitte haben.

    Ich hab auch mal versucht beim Attribut "Varianten überschreiben" zu aktivieren aber ich glaub das hat damit nichts zu tun, jedenfalls bringen tut das auch nix.

    Hat jemand einen Tipp für mich, ich glau ich mach was falsch :/

    Danke euch.


    Contao 3.4.4
    MM dev-tng
    DC-general 2.0.0-beta22

  2. #2
    Contao-Fan
    Registriert seit
    16.05.2014.
    Beiträge
    295

    Standard

    Wie gibst du das Bild aus?

    Prinzipiell ja so, entweder im Template oder über ne Helperklasse etc. da lässt sich die Auflösung ändern.
    PHP-Code:
    <?php $src = \Image::get('path/to/file.png''100''100''center_center'); ?> // die 100 eben durch Höhe und Breite ersetzen
    <?php echo \Image::getHtml($src$alt 'alt text'$attributes 'title="titletext"'); ?>
    Wenn du jeweils nur genau eine Größe brauchst geht das über ne Abfrage oder zwei Templates.

    Ich hab mir nen eigenes Metamodel für Bildgrößen angelegt, die ich dann per Select im anderen Metamodel passend zum eingebunden Bild auswähle.
    Sieht dann so etwa aus:

    PHP-Code:
    <?php $src = \Image::get($arrItem['text']['img'], $arrItem['raw']['img_size']['img_width'], $arrItem['raw']['img_size']['img_height'], 'center_center'); ?>
    <?php 
    echo \Image::getHtml($src$alt "alt text"', $attributes = 'class="img"'); ?></a>
    Geändert von Znrl (29.03.2015 um 21:49 Uhr) Grund: kleinere fehler

  3. #3
    Contao-Fan
    Registriert seit
    14.09.2014.
    Beiträge
    269

    Standard

    Danke Znrl,

    also ich geb das Bil dim Template so aus:
    Code:
    <div class="field headerbild">
    	<div class="pfeil">&nbsp;</div>
    	<a href="<?php echo $arrItem['jumpTo']['url']; ?>" title="<?php echo $arrItem['text']['bergnamehoeheroute']; ?> ">
    			<div class="value"><img width="100%" height="" alt="<?php echo $arrItem['text']['routenname']; ?>" src="<?php echo $arrItem['text']['headerbild']; ?>"></div>
    	</a>
    	</div>
    kannst du mir zeigen wie ich das jetzt da rein bekomme, es macht nix wenn ihc die Grösse im Template festlegen muss, aber was mir wichtig ist das ich das center-center angeben kann.

    Danke für deine Hilfe!!

  4. #4
    Contao-Fan
    Registriert seit
    16.05.2014.
    Beiträge
    295

    Standard

    Versuch mal des, hoffe ich hab mich nicht vertippt...

    PHP-Code:
    <?php $imgSrc = \Image::get($arrItem['text']['headerbild'], '100%''''center_center'); ?>
    <?php $imgHtml 
    = \Image::getHtml($imgSrc$alt $arrItem['text']['routenname']); ?>
    Code:
    <div class="field headerbild">
    	<div class="pfeil">&nbsp;</div>
    	<a href="<?php echo $arrItem['jumpTo']['url']; ?>" title="<?php echo $arrItem['text']['bergnamehoeheroute']; ?> ">
    			<div class="value"><?php echo $imgHtml; ?></div>
    	</a>
    	</div>
    Bzw. mit den 100% bin ich mir nicht sicher? Im HTML sollte das eher in Pixel sein... und 100% per CSS setzen.
    Sonst das 100% mal durch irgend ne Zahl in Pixel ersetzen.

    edit: Ok das mit den 100% wird nicht funktionieren, das wird zu nem Integer gecastet und damit wird das wohl zu 100px.
    Also setz da einfach die maximalen Ausmaße in Pixel und die 100% per CSS:
    img { height: auto; max-width:100%;}
    Geändert von Znrl (30.03.2015 um 21:53 Uhr)

  5. #5
    Contao-Fan
    Registriert seit
    14.09.2014.
    Beiträge
    269

    Standard

    Danke, ich habs jetzt versucht aber das funktioniert noch nicht ganz.

    Code:
    <?php $imgSrc = \Image::get($arrItem['text']['headerbild'], '400', '200', 'center_center'); ?>
    	<?php $imgHtml = \Image::getHtml($src, $alt = $arrItem['text']['routenname']); ?> 
    	<div class="field headerbild">
    	<div class="pfeil">&nbsp;</div>
    	<a href="<?php echo $arrItem['jumpTo']['url']; ?>" title="<?php echo $arrItem['text']['bergnamehoeheroute']; ?> ">
    			<div class="value"><?php echo $imgHtml; ?></div>
    	</a>
    	</div>
    Height und max-width hab ich mit css eingegeben.

    Ich sehe nicht das $imgSrc irgendwo verwendet wird?

    Vielleicht hast du noch eine Idee?

    Danke


    Hier die Fehlermeldung:
    Code:
    Fatal error: Uncaught exception Exception with message Directory "system/themes/flexible/images/" is not a file thrown in system/modules/core/library/Contao/File.php on line 94
    
    #0 system/modules/core/library/Contao/Image.php(823): Contao\File->__construct('system/themes/f...', true)
    #1 templates/metamodel_unrendered_startlist.html5(24): Contao\Image::getHtml(NULL, NULL)
    #2 composer/vendor/metamodels/core/src/MetaModels/Render/Template.php(301): include('/www/htdocs/w01...')
    #3 composer/vendor/metamodels/core/src/MetaModels/ItemList.php(814): MetaModels\Render\Template->parse('html5')
    #4 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridList.php(105): MetaModels\ItemList->render('', Object(MetaModels\FrontendIntegration\Module\ModelList))
    #5 system/modules/core/classes/Hybrid.php(219): MetaModels\FrontendIntegration\HybridList->compile()
    #6 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/MetaModelHybrid.php(99): Contao\Hybrid->generate()
    #7 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridList.php(55): MetaModels\FrontendIntegration\MetaModelHybrid->generate()
    #8 system/modules/core/elements/ContentModule.php(56): MetaModels\FrontendIntegration\HybridList->generate()
    #9 system/modules/core/library/Contao/Controller.php(469): Contao\ContentModule->generate()
    #10 system/modules/core/modules/ModuleArticle.php(187): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
    #11 system/modules/core/modules/Module.php(154): Contao\ModuleArticle->compile()
    #12 system/modules/core/modules/ModuleArticle.php(50): Contao\Module->generate()
    #13 system/modules/core/library/Contao/Controller.php(405): Contao\ModuleArticle->generate(false)
    #14 system/modules/core/library/Contao/Controller.php(269): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
    #15 system/modules/core/pages/PageRegular.php(129): Contao\Controller::getFrontendModule('0', 'main')
    #16 system/modules/core/controllers/FrontendIndex.php(244): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #17 index.php(20): Contao\FrontendIndex->run()
    #18 {main}

  6. #6
    Contao-Fan
    Registriert seit
    16.05.2014.
    Beiträge
    295

    Standard

    Sry habs oben verbesserst das $src -> zu $imgSrc ändern. Dachte das wäre verständlicher und habs nicht bei beiden geändert :>

  7. #7
    Contao-Fan
    Registriert seit
    14.09.2014.
    Beiträge
    269

    Standard

    Super, danke dir, das hat sofort funktioniert, habs gleich bei mehrerne Templates mit verschiedenen Grössen getestet, absolut geil!

    Danke

  8. #8
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard verschiedene Bildergrössen

    Hallo Zusammen
    Habe etwas nicht ganz verstanden? Wie kriege ich eine raw Attribut?
    Möchte gerne wie du es beschrieben hast in der Tabelle wo das Bild ist einfach auswählen können welche grösse das Bild haben soll.
    Vielen Dank für die Hilfe.

  9. #9

  10. #10
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard

    ok irgendwie stehe ich mir auf dem Schlauch nun habe ich im Template:

    <?php $imgSrc = \Image::get($arrItem['text']['titel_bild'] ,$arrItem['text']['img_height']['img_width'], 'center_center'); ?>
    <?php $imgHtml = \Image::getHtml($imgSrc, $alt = $arrItem['text']['info']); ?>

    <div class="value"><?php echo $imgHtml; ?></div>

    Habe ein zusätzliches Megamodel angelegt in welchem ich über ein Kombiniertes Attribut img_height und img_width definiere.
    Das Bild und alt wird ausgelesen die gösse nicht. Was mache ich falsch.

    Vielen Dank für die Hilfe.

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.768
    User beschenken
    Wunschliste

    Standard

    probier erstmal den Aufruf im Template mit festen Werten wie 400px und 300px - wenn dann alles wie gewünscht funktioniert, kannst Du die festen Werte mit Variablen austauschen

    Edit "$arrItem['text']['img_height']['img_width']" sieht sehr merkwürdig aus - wer soll nun erraten, was bei Dir da drin steht?

  12. #12
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard

    <?php $imgSrc = \Image::get($arrItem['text']['titel_bild'] ,'400', '200', 'center_center'); ?>
    <?php $imgHtml = \Image::getHtml($imgSrc, $alt = $arrItem['text']['info']); ?>

    <div class="value"><?php echo $imgHtml; ?></div>

    dies funktioniert mit den festen breiten. Nur wie bekomme ich da was aus dem metamodel rein?
    Danke

  13. #13
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Sollte so in der Art gehen:

    Code:
    <?php $imgSrc = \Image::get($arrItem['text']['titel_bild'] ,$arrItem['text']['img_height'], $arrItem['text']['img_width'], 'center_center'); ?>
    Du hast oben die beiden Werte irgendwie versucht auf einmal auszugeben.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  14. #14
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard

    Super vielen Dank. Nun funktioniert es.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •