Deesen / YAMS

Original Fork of YAMS (Yet Another Multilingual Solution for Evolution CMS)
http://modxcms.com/forums/index.php/board,381.0.html
8 stars 7 forks source link

YAMS (1.2.0 RC7) and the „if (1.4)“ snippet in Modx 1.4.8. #25

Closed eire69k closed 5 years ago

eire69k commented 5 years ago

Hello Deesen, I have a new issue with YAMS (1.2.0 RC7) and the „if (1.4)“ snippet in Modx 1.4.8.

I have stile an older copy of my project (Modx 1.4.6) with the same .tpl below and the same snippets where everything works fine, but in Modx 1.4.8 it doesn't work anymore. (both server settings are on PHP 7.1)

As you will see, I want that the whole code won’t be written if there is no image in the TV-filed. But no mater how I write the code [[ `’ ]], it doesn't work, even not with PHx. If the TV Field is empty (no image), the whole code will still be written. Do you have any idea what this could cause?

(I kept the code short here to kep it simple)

[[if? &is=`[[YAMS? &get=`tv` &from=`content_image` &docid=`[*id*]`]]:empty` &then=`` &else=`
<div class="content_img [*float*]">
    <img src="[[YAMS? &get=`tv` &from=`content_image` &docid=`[*id*]`]]" alt="">
</div>
`]]

If I write it that way, it's the other way round (no image no tags):

[[if? &is=`[[YAMS? &get=`tv` &from=`content_image` &docid=`[*id*]`]]:!empty` &then=`
<div class="content_img [*float*]">
    <img src="[[YAMS? &get=`tv` &from=`content_image` &docid=`[*id*]`]]" alt="">
</div>
`]]
Deesen commented 5 years ago

This is strange. If the YAMS-Snippet works as expected (returns correct image-tv data) without the IF-Snippet, then it is not an issue with YAMS.

Maybe you can try IF-snippet with separator-parameter instead of using the default ":".

[[if? &is=`xxx||empty` &separator=`||`]]
eire69k commented 5 years ago

This is strange indeed. Ich wechsle mal kurz zu deutsch über, wenn das hier mal kurz erlaubt ist. Das macht es einfacher.

Leider hat das mit dem [[ &separator=`||` ]] auch nicht funktioniert. Ich habe alle Varianten und Optionen die mir eingefallen sind durchgespielt. Daher denke ich jetzt auch, dass es ehr ein anderes Problem sein muss.

Das IF an sich arbeitet normal und YAMS auch. Aber sobald man mit dem "IF-Snippet" ein anderes Stippet abfragen möchte wie z.B auch „YAMS“ oder „DocInfo“ gibt es Probleme. Beim „DocInfo“-Snippet konnte ich das mit diesen ' Zeichen umgehen oder eben bei YAMS vorher auch nur mit der Nutzung von PHx. Ausser eben bei Modx 1.4.6. Da funktioniert alles. Ich schau mal ob ich was wo anders herausbekomme... Wenn ich mein Problem gelöst bekommen sollte, werde ich es hier posten :) Ich danke Dir jedenfalls für Dein rasches Feedback, Deesen!

Deesen commented 5 years ago

Hmm, probiere mal in der Konfiguration "Filter/Modifier aktivieren" auf "Ja" zu stellen.. könnte hiermit zu tun haben: https://github.com/evolution-cms/evolution/issues/977

eire69k commented 5 years ago

Boah... das hatte es, indeed!! :) Du hast was bei mir gut Deesen!!! Ich musste allerdings das if raus schmeißen alles umschreiben und statdessen wieder das PHx benutzen. Dann erst hat es mit dem Filter geklappt. Tausend Dank für diesen Hinweis!!

[+phx:if=`((yams_data:[*id*]:content_image_(yams_id)))`:ne=` `:then=`xyz`:else=`xxx`+]