Posted by miccelito on January 4, 2013 at 10:53pm
Använder PHP 5.3.17
Använder en SEO modul som knasar och var gång en nod sparas visas felmeddelandet
trim() expects parameter 1 to be string, array given in ...
refererande till raderna
if (! empty($tag_value)) {
$tag_value = trim($tag_value);i nedanstående kod
function seo_friend_text_validate($form, &$form_state, $type, $module) {
$type = seo_friend_get_override_type($module, $type);
$tags = seo_friend_get_tags($module);
if (! empty($tags)) {
foreach ($tags as $tag) {
if ($module == 'nodewords') {
$tag_value = $form_state['values']['nodewords'][$tag]['value'];
if (! empty($tag_value)) {
$tag_value = trim($tag_value);
}
$fieldset = 'nodewords';
}
else {
$tag_value = trim($form_state['values'][$tag]);
$fieldset = null;
}Någon med goda php kunskaper som kan se vad som eventuellt är fel med nämnda raderna Har sökt svar på drupal.org men ännu inte hittat någon lösning.
Comments
Testa att installera modulen
Testa att installera modulen Devel och sedan lägga till en
dpm($form_state['values']['nodewords'][$tag]['value']);innan trim() körs så vet du varför den kommer in som en array istället för som en förväntad sträng.
Kan det vara som så att Nodewords har ändrat på datan i formuläret så att det du skrivit in inte längre ligger i $form_state['values']['nodewords'][$tag]['value'], utan finns på en annan "sökväg" i arrayen?
Testa att i ovan dpm gå tillbaka i arrayen, dvs,
dpm($form_state['values']['nodewords'];och titta sedan om värdet du skrivit in per tagg ligger någon annanstans.//Pontus Nilsson, Digitalist
Testade installera Devel och
Testade installera Devel och lägga till
dpm($form_state['values']['nodewords'][$tag]['value']);och sedan spara om en nod. Vet inte om jag blev så mycket klokare av det, men iaf visas då ifylld textdata från aktuellt formulär samt visas också (krumo) meddelande:... (Array, 8 elements)index (Integer) 0
noindex (Integer) 0
follow (Integer) 0
nofollow (Integer) 0
noarchive (Integer) 0
noodp (Integer) 0
nosnippet (Integer) 0
noydir (Integer) 0
Problemet nu fixat. Nodewords
Problemet nu fixat. Nodewords hade tydligen ändrat en hel del på datan i formuläret.
if (! empty($tag_value)) {ändrat tillif (! empty($tag_value) && is_string($tag_value)) {osv