Вход • Регистрация

Insert в insert'е

  • 27 мая 2013 г.
  • Всем привет, возник следующий вопрос:

    В русской версии сайта есть конструкция
    Код
    <insert name="show_login" module="registration" template="mainpage">
    , задача в том, чтобы при переходе в англ. версию - конструкция менялась на
    Код
    <insert name="show_login" module="registration" template="enpage">


    Код вида:
    Код
    <insert name="show_login" module="registration" template="<insert value="mainpage" value2="enpage">">
    не пашет. Какие могут быть решения проблемы? Или это у меня руки кривые?
    • 27 мая 2013 г.
    • можно сделать в конструкции блока регистарции проверку на урл страницы, и если он содержит http://domen.ru/eng/... то выводится английский шаблон, если нет, то русский.

      делается в php с помощью регулярного выражения.

      Работу скрипта не проверял, если что, пишите в теме будем разбираться.

      Код

      $thislink = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
      $newlink = preg_replace("http:\/\/domen.ru\/eng\/+(.*)","",$thislink);

      if ($newlink == "http://domen.ru/eng/") {
      //шалон 1
      } else {
      //шаблон 2
      }
      • 27 мая 2013 г.
      • подправил:
        Код
        $thislink = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
        $newlink = preg_replace("/http:\/\/domen.ru\/eng\/+(.*)/","",$thislink);

        if ($newlink == "http://domen.ru/eng/") {
        //шалон 1
        } else {
        //шаблон 2
        }
    • 27 мая 2013 г.
    • думаю можно сделать так:
      в шаблоне вставляем:
      Код
      <insert name="switch_template">


      а в includes/function.php добавим метод
      Код
      public function switch_template()
      {
      if([язык = инглиш]) {
      $this->htmleditor('<insert name="show_login" module="registration" template="enpage">');
      } ifelse([язык = русский]) {
      $this->htmleditor('<insert name="show_login" module="registration" template="mainpage">');
      }
      }


      вот просто незнаю как делать проверку какой язык включен, посмотрите в какой переменной записано значение.
      • 27 мая 2013 г.
      • какой язык включен можно вытащить из базы данных скорее всего. Правда не смотрел как там по этому случаю там оформлено в mysql

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум