Seite 1 von 1

SQL Abfrage Group name immer in Englisch

Verfasst: 19.06.2018 20:20
von pierre63
Hallo
Vorab ich bin neuling in php und html.

Ich habe in eine php folgende abfrage erstellt:

Code: Alles auswählen

$sql = 'SELECT * FROM ' . GROUPS_TABLE . ' WHERE group_id = ' . (int) $user->data['group_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);

$template->assign_vars(array(
        'GROUP_NAME'    => $row['group_name'],
		'GROUP_COLOR'    => $row['group_colour'],
		));
Dann im ein Template folgendes:

Code: Alles auswählen

 <font color="#{GROUP_COLOR}"> {GROUP_NAME}</font>     
Das funktioniert auch soweit aber der Gruppen Name erscheint immer in Englisch weil es ja so in die db hinterlegt ist.
Es soll aber in Deutsch erscheinen

Habe es mit {L_GROUP_NAME} und L_{GROUP_NAME} versucht und auch zb in ein Sprachpaket
folgendes angelegt:

'ADMINISTRATORS' => 'Administratoren',

Aber es will nicht klappen, kann mir jemanden vielleicht weiter helfen?

Re: SQL Abfrage Group name immer in Englisch

Verfasst: 19.06.2018 20:51
von canonknipser
Versuch es mal nicht selber, sondern überlasse es den dafür vorhandenen Funktionen in phpBB ;)

Für die Ermittlung der Gruppennamen gibt es eine Funktion get_group_name in includes/functions_user.php

Code: Alles auswählen

/**
* Get group name
*/
function get_group_name($group_id)
{
    global $db, $phpbb_container;

    $sql = 'SELECT group_name, group_type
        FROM ' . GROUPS_TABLE . '
        WHERE group_id = ' . (int) $group_id;
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchrow($result);
    $db->sql_freeresult($result);

    if (!$row)
    {
        return '';
    }

    /** @var \phpbb\group\helper $group_helper */
    $group_helper = $phpbb_container->get('group_helper');

    return $group_helper->get_name($row['group_name']);
}
Die ist dafür vorgesehen, für die Standard-Gruppen die sprachangepassten Namen zurückzuliefern.

Re: SQL Abfrage Group name immer in Englisch

Verfasst: 19.06.2018 20:54
von pierre63
Hallo

Und wie gebe ich das ein im Template?

Re: SQL Abfrage Group name immer in Englisch

Verfasst: 19.06.2018 21:00
von canonknipser
z.B. so (du musst natürlich die includes vorher einbinden):

Code: Alles auswählen

// nur noch für group_colour und group_name
$sql = 'SELECT group_colour, group_name FROM ' . GROUPS_TABLE . ' WHERE group_id = ' . (int) $user->data['group_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);

// Name über helper-Klasse
$template->assign_vars(array(
        'GROUP_NAME'    =>  $group_helper->get_name($row['group_name']),
      'GROUP_COLOR'    => $row['group_colour'],
      ));

Re: SQL Abfrage Group name immer in Englisch

Verfasst: 19.06.2018 21:04
von pierre63
Super danke, es geht :grin: :grin: