Hi iedereen,

Eerst wil ik zeggen, dat ik nog geen prof ben, maar wil het graag leren. Ook, helaas, een beetje met Nederlands niet zo vloeiend...

Ik ga proberen uit te leggen.

Ik heb joomla module "laatste artikelen" een beetje aangepast, dat er ook een intro afbeelding van iedere artikel verschijnt. Maar volgens de SEO, moet er ook alt="..." bij zijn. Ik ben nog een php beginner, dus zit te puzzelen (wat vindt ik bijzonder interessant).
Zelf lege alt="" heb ik al staan, maar hoe krijg ik de tekst ertussen?

Mijn code is (niet te lachen!):

<?php
defined('_JEXEC') or die;
?>
<ul class="latestnews<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) :  ?>
	 <li> <?php echo $item->format_published; ?>
		<a href="<?php echo $item->link; ?>">
			<div class="name">
                                <img src="<?php echo json_decode($item->images)->image_intro; ?>" alt="<?php echo($images->image_intro_alt); ?>" />
                                <p class="published">
          <?php echo JHtml::_('date', $item->publish_up, JText::_('d-m')); ?></p>
				<?php echo $item->title; ?>
			</div>
		</a>
	</li>
<?php endforeach; ?>
</ul>


Dus, waar maak ik fout?
Voorbaat bedankt voor iedere advies,
Veronika
Zo te zien doe je het al goed, hoewel echo geen functie is voldoet dit ook:

alt="<?php echo $images->image_intro_alt; ?>"

Als de waarde nu nog leeg blijft, dan zal de variabele geen inhoud kennen. Dan zou je beter $item->image_intro_alt kunnen proberen.
Eerste code werkt niet. Nu deze tweede mogelijkheid: in plats van?
In plats van $images->image_intro_alt; ook werkt niet

Als ik goed begrijp deze "echo" is om iets te herhalen? Ik wil gewoon omschrijving van afbeelding herhalen, daarom heb ik zo geschreven.

P.S. Bedankt, dat mijn code mooi aangepast is. Ik heb een briefje naar Contact gestuurd met de vraag hoe het aanpassen, want ik kreeg een rommel en vond niet hoe het verbeteren.
Het echte herhalen gebeurt overigens niet in de echo, maar in de foreach op lijn 5. Op lijn 16 stopt de lus die steeds doorlopen wordt.
Probeer het eens met json_decode($item->images)->image_intro_alt

Waarschijnlijk is alle data in $item->images ge-encodeerd in JSON. Dit moet je eerst uitpakken voordat je er data uit kunt lezen met ->een_attribuut_naam.

De eigenschap "image_intro_alt" moet ook aanwezig zijn binnen $item->images, anders gaat dit natuurlijk sowieso niet werken.

EDIT "echo" wordt gebruikt om iets op het scherm af te drukken.
Ja, dus waarom deze lus herhaald afbeelding, maar alt niet? Ik denk, dat moet er een code zijn. Ik heb in joomla de code gevonden van intro img zelf.
src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" itemprop="thumbnailUrl"/></a> 


Misschien hier is wat informatie?

alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"
ook werkt niet
De waarde moet je in $item vinden, niet in $images ;-)
Bedankt Thomas,

Geprobeerd, het werkt ook niet
Ik ben benieuwd wat dit teruggeeft binnen je lus:
<?php
echo "<pre>".print_r($item,1)."</pre>";
?>


Dit moet meer duidelijkheid geven per iteratie die doorlopen wordt welke data er beschikbaar is.

[color=red]Edit:[/color] $item dus.
Aar, ik heb je code geplaatst en en een verschrikkelijke pagina gekregen, daarna terug oude code geplaatst en nu heb ik witte pagina. Waar is mijne pagina? ergens fout gedaan...

Toevoeging op 12/09/2015 23:55:05:

De hele bestand terug, nu weer goed. Aar, kan je wat uitbreiden je post? Waar precies moet ik je code plaatsen?

Toevoeging op 12/09/2015 23:59:03:

Ik ben nu op zoek naar deze $item. (Alle bestanden doorzoeken.)

Toevoeging op 13/09/2015 00:18:25:

Gelukt!!! De code is:

<img src="<?php echo json_decode($item->images)->image_intro; ?>" alt="<?php echo json_decode($item->images)->image_intro_alt; ?>" />


Ik heb waarschijnlijk deze ";" niet geplaatst.
Thomas, het lijkt je code goed te zijn.

Echt bedankt Aar en Thomas voor ingestoken tijd om mij te helpen!
Veronika
Fijn dat het gelukt is. Dit print_r code was bedoeld als 'debugging' en kan je wel verwijderen.
Voor gebruiker die je site bezoeken heeft deze functie haast geen enkel nut.

Reageren