Artikel custom field haalt enkel eerste veldwaarde op, andere velden zijn leeg Topic is solved

Hier kun je vragen stellen over de nieuwste Joomla 3.x ontwikkelingen en ondervonden problemen melden.

Moderator: pe7er

Forum rules
Forum Regels
Locked
Jootje123
Joomla! Apprentice
Joomla! Apprentice
Posts: 8
Joined: Mon Dec 01, 2008 12:45 am

Artikel custom field haalt enkel eerste veldwaarde op, andere velden zijn leeg

Post by Jootje123 » Mon May 20, 2019 3:22 pm

Lokale server:
Joomla versie 3.9.6
Windows 10
PHP 7.3.1
Aapche 2.4.?
MariaDB 10.1.8

Oude server:
Joomla versie 3.9.6
CentOS 7
PHP 7.0.1 up to date met normale security patches uit backports.
Apache 2.4.6
MariaDB 5.5.60 met security patches default CentOS.

Nieuwe server:
Joomla versie 3.9.6
Debian Buster/Sid
PHP 7.3.4 laatste update remi repository
Apache 2.4.38
MariaDB 10.4.4

custom fields.png

Probleem:
Ik heb een aantal custom velden aangemaakt en deze werkten goed aan de voorkant en de achterkant. De website is verplaatst van de ontwikkelserver naar een productie server, maar daar kreeg ik ineens problemen met de custom velden. In de backend wordt bij een artikel enkel de waarde voor het eerste veld ingevuld. De andere velden zijn leeg. Verder werkt Joomla volledig correct. Alle andere data voor artikelen, menu's, etc. wordt gewoon netjes ingeladen. In debug modus is te zien dat de queries die de data uit de database halen gewoon worden afgevuurd. Deze zijn exact gelijk aan de queries op de website op de oude server waar de veldwaarden (gewone tekstvelden) wel goed worden geladen. Het enige wat me opvalt is dat de queries ook nog eens dubbelop los worden gedaan, per field_id. Als volgt:

/* 41. Deze haalt de data goed op */
SELECT `field_id`,`value`
FROM `ngti1_fields_values`
WHERE `field_id` IN (13,14,15,16,17)
AND `item_id` = '85';

/* 43. Daarna komt deze nog, dat zou niet moeten? (op oude server zelfde queries en werkt gewoon goed) */
SELECT `field_id`,`value`
FROM `ngti1_fields_values`
WHERE `field_id` IN (13)
AND `item_id` = '85';

/* 44. Daarna deze */
SELECT `field_id`,`value`
FROM `ngti1_fields_values`
WHERE `field_id` IN (14)
AND `item_id` = '85';

/* 45. Daarna deze */
SELECT `field_id`,`value`
FROM `ngti1_fields_values`
WHERE `field_id` IN (15)
AND `item_id` = '85';

/* 46 Daarna deze */
SELECT `field_id`,`value`
FROM `ngti1_fields_values`
WHERE `field_id` IN (16)
AND `item_id` = '85';

/* 47. Daarna deze */
SELECT `field_id`,`value`
FROM `ngti1_fields_values`
WHERE `field_id` IN (17)
AND `item_id` = '85';

In XAMPP met PHP 7.3 lokaal worden de custom velden ook gewoon goed ingeladen. Nergens in de Apache/PHP error logs wordt een error gelogd. De logs werken goed, want er zijn wel errors gelogd maar niet met betrekking tot Joomla of niet met betrekking tot custom velden. Een enkele nietszeggende fout die gelogd werd heb ik verholpen. Ik heb de bestanden van de site vergeleken met de bestanden op de oude server en deze zijn exact gelijk.

Gezien de queries gewoon worden afgevuurd en het eerste customfield wel wordt gevuld denk ik direct aan een fout in JavasScript. In de console van Chrome zijn echter geen fouten te zien. Ik heb een break gezet op één van de velden indien ze bewerkt worden, maar Chrome breakt dan in het jQuery bestand en daar is verder ook niks bijzonders te zien.

Ik heb gekeken naar de broncode van "administrator/components/com_content/views/article/tmpl/edit.php", maar daar wordt in ieder geval niet het tabje ingeladen met de custom fields, dus ik verwacht dat dat ergens in een javascript bestand gebeurt.

Ik weet onderhand niet echt meer waar ik moet zoeken. Het heeft weinig zin om met XDebug lokaal te gaan debuggen, want daar werkt het gewoon. Ik heb alle plugins in de browser ook uitgezet en het nog eens geprobeerd, maar gezien het op een oude server en lokaal met dezelfde browser wel werkt zou het dat ook niet moeten zijn.

Ik heb alle PHP modules tussen de oude server en de nieuwe server vergeleken en deze zijn hetzelfde als ook de instellingen in php.ini. Dus daar kan het ook niet in zitten.

Iemand een idee hoe ik dit nog kan aanpakken?
You do not have the required permissions to view the files attached to this post.

User avatar
pe7er
Joomla! Master
Joomla! Master
Posts: 24975
Joined: Thu Aug 18, 2005 8:55 pm
Location: Nijmegen, Netherlands
Contact:

Re: Artikel custom field haalt enkel eerste veldwaarde op, andere velden zijn leeg

Post by pe7er » Mon May 27, 2019 10:34 am

Ik zie niet wat er bij jou op de server fout gaat.
Hoe heb je de locale versie naar de server verplaatst? Met Akeeba Backup?

Worden er uberhaupt server log files gegenereerd?
Kun je de PHP error reporting op maximum instellen zodat je evt foutmelding op het scherm krijgt te zien?

Wat ik zou proberen:
Op de server een nieuwe Joomla 3.9.6 site installeren zonder voorbeeld content.
Dan een nieuwe Custom Field Group aanmaken en 3 Custom Field velden aanmaken.
Enkele artikelen aanmaken en de Custom Fields invullen en proberen of je het probleem met de missende velden kunt reproduceren.

Hopelijk krijg je bij het uitvoeren van de bovenstaande testen wat meer aanknopingspunten om de fout op te lossen.

Indien het probleem zo te reproduceren is, kun je dan een issue aanmaken op de Joomla bug tracker?
https://github.com/joomla/joomla-cms/issues
Kind Regards,
Peter Martin, Global Moderator
Company website: https://db8.nl/en/ - Joomla specialist, Nijmegen, Netherlands
The best website: https://the-best-website.com

Jootje123
Joomla! Apprentice
Joomla! Apprentice
Posts: 8
Joined: Mon Dec 01, 2008 12:45 am

Re: Artikel custom field haalt enkel eerste veldwaarde op, andere velden zijn leeg

Post by Jootje123 » Thu Jun 06, 2019 11:25 pm

Bedankt voor de tip! Het was niet in me opgekomen om gewoon een hele nieuwe installatie neer te zetten. Net gedaan en daar gaat het met een enkel toegevoegd veld wel goed.

PHP error reporting op maximum had ik al geprobeerd. Geeft niks terug. Log files werken verder goed.

Backup niet met Akeeba gedaan, maar dat zou niet veel uit moeten maken. Bestanden zijn bestanden en een database is een database (toch?). Het kan zijn dat bepaalde header informatie niet goed teruggezet is doordat ik zip als archiver gebruikt heb, maar dat zou dan moeten resulteren in een niet werkende site volgens mij.

Ik zit alleen te denken hoe ik dit nu verder moet aanpakken. Ik ga nog wel wat testen met overzetten, maar ben bang dat het in de database ergens fout gaat. De functie voor het controleren/repareren van de tabellen in Joomla geeft terug dat alles oké is.

Jootje123
Joomla! Apprentice
Joomla! Apprentice
Posts: 8
Joined: Mon Dec 01, 2008 12:45 am

Re: Artikel custom field haalt enkel eerste veldwaarde op, andere velden zijn leeg

Post by Jootje123 » Fri Jun 07, 2019 12:42 am

Ik heb net getest of het terugzetten van de database op die nieuwe installatie werkt, maar na het vervangen van de database gaat het weer mis. Dus de fout zit toch ergens in de database. Ik heb een nieuwe veldgroep aangemaakt met nieuwe velden en dan gaat het wel goed. Ik ontkom er niet aan om alle velden opnieuw aan te maken en opnieuw in te vullen bij de artikelen. Het is een multitaalsite dus dat is helaas flink wat werk. Yay! Ben al superblij dat het in ieder geval op te lossen is en niet zit in de nieuwe server in combinatie met Joomla.

Bedankt voor de hulp Peter!

User avatar
pe7er
Joomla! Master
Joomla! Master
Posts: 24975
Joined: Thu Aug 18, 2005 8:55 pm
Location: Nijmegen, Netherlands
Contact:

Re: Artikel custom field haalt enkel eerste veldwaarde op, andere velden zijn leeg

Post by pe7er » Fri Jun 07, 2019 6:51 am

Graag gedaan. Bedankt voor het delen van jouw oplossing.
Kind Regards,
Peter Martin, Global Moderator
Company website: https://db8.nl/en/ - Joomla specialist, Nijmegen, Netherlands
The best website: https://the-best-website.com


Locked

Return to “Joomla! 3.x”