• Сниппет Languages подскажите как добавить вывод фразы#

  • romankolod Reply #1, 3 months, 3 weeks ago

    Reply
    Код оригинала сниппета
    <?php
    // get languages info
    $tv = $modx->getTemplateVar('languages', "", $modx->documentIdentifier);
    $languages = $tv['value'];

    if (!strlen($languages))
    {
    return "";
    }

    $langnames = array(
    "ru" => "RU",
    "ua" => "UA"
    );

    $textchange = array("Сменить язык:","Змінити мову:");

    $output = "";

    // get entries in languages list
    $entries = explode(",", $languages);
    // loop through language entries
    for ($e = 0; $e < count($entries); $e++)
    {
    // seperate into lang code and target document id
    list($lang, $targetid) = explode("=", $entries[$e]);
    $image = '<img src="assets/images/'.$lang.'.png" width="18" height="9"/>';
    $imtxt = $langnames[$lang];

    if (strlen($output))
    {
    $output .= ' ';
    }
    $output .= '<a href="'.$modx->makeUrl($targetid).'">'.$image.' '.$imtxt.'</a>';
    }

    return $output;
    ?>

    Сниппет работает и выводит изображение смены языка только на тех страницах, для которых в TV указана страница с переводом. Подскажите как изменить код, что бы перед картинкой добавлялась фраза "Сменить язык:" - для русской страницы и "Змінити мову:" - для украинской страницы. В ПХП не силен и проломав голову пол дня прошу Вашей помощи!


  • spector Reply #2, 3 months, 2 weeks ago

    Reply
    ну чтобы не менять особо код, можно дописать следующее
    заменить эту часть кода:
    if (strlen($output))
    {
    $output .= ' ';
    }
    $output .= '<a href="'.$modx->makeUrl($targetid).'">'.$image.' '.$imtxt.'</a>';
    }
    
    return $output;
    

    на
    $messagetxt=($lang=='RU')?'russkii text:':'uk text';
    if (strlen($output))
    {
    $output .= ' ';
    }
    $output .= '<a href="'.$modx->makeUrl($targetid).'">'.$messagetxt.$image.' '.$imtxt.'</a>';
    }
    
    return $output;
    



    p.s.: не тестировал, но должно работать)


  • romankolod Reply #3, 3 months, 2 weeks ago

    Reply
    Quote from: spector at Feb 03, 2012, 04:24 PM
    ну чтобы не менять особо код, можно дописать следующее
    ]

    Огромное человеческое спасибо! Все работает, лишь только вывод требуемой фразы сделал через ECHO.