Мультиязычные лычки

Статус
В этой теме нельзя размещать новые ответы.
L

ler

Гость
#1
Очередной супермод
26-02-2015 19-02-40.jpg
в конец functions.php

PHP:
function rank_image_lang($rank_image,$ulang="english") 
{
    global $bb_cfg;
    if ($bb_cfg['multilang'] AND mb_strstr($rank_image, "||")){

            if($ulang=="russian"){
                $rank_image = explode("||",$rank_image);
                $rank_image =$rank_image[0];
                return $rank_image;
            }
            if($ulang=="english"){
                $rank_image = explode("||",$rank_image);
                $rank_image =$rank_image[1];
                return $rank_image;
            }
    }
    else {
        return $rank_image;
    }
}
admin_ranks.php

примерно на 85 строке заменяем на

PHP:
            "IMAGE" => !empty($rank_info['rank_image']) ? rank_image_lang($rank_info['rank_image'],"russian") : "images/ranks/rank_image.png",
            "IMAGE_EN" => !empty($rank_info['rank_image']) ? rank_image_lang($rank_info['rank_image'],"english") : "images/ranks/rank_image.png",
            "STYLE" => !empty($rank_info['rank_style']) ? $rank_info['rank_style'] : '',
            "IMAGE_DISPLAY" => !empty($rank_info['rank_image']) ? '<img style="vertical-align: middle;" src="../' . rank_image_lang($rank_info['rank_image'],"russian") . '" />' : "",
            "IMAGE_DISPLAY_EN" => !empty($rank_info['rank_image']) ? '<img style="vertical-align: middle;" src="../' . rank_image_lang($rank_info['rank_image'],"english") . '" />' : "",
в самом конце
"IMAGE_DISPLAY" => .......,
заменяем на
PHP:
"IMAGE_DISPLAY" => ($rank_rows[$i]['rank_image']) ? '<img style="vertical-align: middle;" src="../' . rank_image_lang($rank_rows[$i]['rank_image'],$userdata["user_lang"]) . '" />' : "",
в admin_ranks.tpl

после
<tr>
<td valign="top"><h4>{L_RANK_IMAGE}:</h4><br />
<h6>{L_RANK_IMAGE_EXPLAIN}</h6></td>
<td>

вставляем вместо 2х input
PHP:
        RU {IMAGE_DISPLAY} <input class="post" type="text" name="rank_image" size="40" maxlength="255" value="{IMAGE}" /><br /><br />
        EN {IMAGE_DISPLAY_EN} <input class="post" type="text" name="rank_image_en" size="40" maxlength="255" value="{IMAGE_EN}" /><br /><br />
viewtopic.php
после
if (!$user->opt_js['h_rnk_i'] and isset($ranks[$user_rank])) {

вставляем вместо $rank_image = ..............;
PHP:
$rank_image = ($bb_cfg['show_rank_image'] && $ranks[$user_rank]['rank_image']) ?
            '<img src="' . rank_image_lang($ranks[$user_rank]['rank_image'],$userdata["user_lang"]) .'" alt="'.$ranks[$user_rank]['rank_title'].'" title="'.$ranks[$user_rank]['rank_title'].'"  />' : '';
 
L

ler

Гость
#3
Не будет работать если более 2х языков. т.к в поле хранится запись вида images/ranks/rank_image.png||images/ranks/rank_image_en.png
это не очень то правильно
 

Exile

Администратор
#4
@ler можно просто именовать изображения по другому и подставлять в конце код языка из переменной $bb_cfg['lang'].
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху