Poniżej mam funkcję w której nie trzeba zwracać uwagę na to co wyświetli, a raczej chodzi o to dlaczego nie działa ?
ORGINALNA. (echo) - oczywiście działa świetnie
function ssi_welcome($output_method = 'echo') { if ($output_method == 'echo') { if ($context['user']['is_guest']) else echo $txt['hello_member'], ' <strong>', $context['user']['name'], '</strong>', allowedTo('pm_read') ? ', ' . $txt['msg_alert_you_have'] . ' <a href="' . $scripturl . '?action=pm">' . $context['user']['messages'] . ' ' . ($context['user']['messages'] == '1' ? $txt['message_lowercase'] : $txt['msg_alert_messages']) . '</a>' . $txt['newmessages4'] . ' ' . $context['user']['unread_messages'] . ' ' . ($context['user']['unread_messages'] == '1' ? $txt['newmessages0'] : $txt['newmessages1']) : '', '.'; } // Don't echo... then do what?! else return $context['user']; }
WŁASNA ($SHOW .=)
function ssi_welcome($output_method = 'echo') { if ($output_method == 'echo') { else $SHOW .= ' ',$txt['hello_member'], ' <strong>', $context['user']['name'], '</strong>', allowedTo('pm_read') ? ', ' . $txt['msg_alert_you_have'] . ' <a href="' . $scripturl . '?action=pm">' . $context['user']['messages'] . ' ' . ($context['user']['messages'] == '1' ? $txt['message_lowercase'] : $txt['msg_alert_messages']) . '</a>' . $txt['newmessages4'] . ' ' . $context['user']['unread_messages'] . ' ' . ($context['user']['unread_messages'] == '1' ? $txt['newmessages0'] : $txt['newmessages1']) : '', '.'; } else return $context['user']; }
Pojawia się błąd.
Kod
Parse error: syntax error, unexpected ',' in /forum/SSI.php on line 169
Dlaczego po zmianie echo na zmienną przestało działać wyświetlanie ?
Ja znam teraz tylko jeden sposób na naprawę, aby funkcjonowało zgodnie z moimi oczekiwaniami czyli przepisać każdą funkcję stosując normalne kodowanie.