door mij geschreven code pakt alt text van een img niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Veronika J

Veronika J

12/09/2015 21:14:52
Quote Anchor link
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!):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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
Gewijzigd op 12/09/2015 21:56:44 door - Ariën -
 
PHP hulp

PHP hulp

15/01/2025 17:15:00
 
- Ariën  -
Beheerder

- Ariën -

12/09/2015 21:59:14
Quote Anchor link
Zo te zien doe je het al goed, hoewel echo geen functie is voldoet dit ook:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.
Gewijzigd op 12/09/2015 22:05:57 door - Ariën -
 
Veronika J

Veronika J

12/09/2015 22:47:39
Quote Anchor link
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.
 
- Ariën  -
Beheerder

- Ariën -

12/09/2015 22:58:29
Quote Anchor link
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.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/09/2015 23:11:34
Quote Anchor link
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.
Gewijzigd op 12/09/2015 23:12:54 door Thomas van den Heuvel
 
Veronika J

Veronika J

12/09/2015 23:19:42
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" itemprop="thumbnailUrl"/></a>


Misschien hier is wat informatie?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"
ook werkt niet
 
- Ariën  -
Beheerder

- Ariën -

12/09/2015 23:21:22
Quote Anchor link
De waarde moet je in $item vinden, niet in $images ;-)
 
Veronika J

Veronika J

12/09/2015 23:26:31
Quote Anchor link
Bedankt Thomas,

Geprobeerd, het werkt ook niet
 
- Ariën  -
Beheerder

- Ariën -

12/09/2015 23:29:16
Quote Anchor link
Ik ben benieuwd wat dit teruggeeft binnen je lus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<pre>".print_r($item,1)."</pre>";
?>



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

Edit: $item dus.
Gewijzigd op 12/09/2015 23:34:19 door - Ariën -
 
Veronika J

Veronika J

12/09/2015 23:51:25
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<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
 
- Ariën  -
Beheerder

- Ariën -

13/09/2015 00:23:18
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.