Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - ragivort

Страницы: [1] 2
1
В custom.php оставил только

   public function checkDesktopMode() {
   if($_GET['show_desktop_mode'] == 'true') {
      $_SESSION['desktopmode'] = 'true';
   } else {
      $_SESSION['desktopmode'] = 'false';
   }
      return  $_SESSION['desktopmode'];
}


В шаблоне

Теги
   <xsl:choose>
   <xsl:when test="document('udata://custom/checkDesktopMode/')/udata = 'true'">
        
                <meta name="viewport" content="width=1200"/>
   </xsl:when>
   <xsl:otherwise>
        
        <meta name="viewport" content="width=device-width, initial-scale=1"/>
   </xsl:otherwise>
   </xsl:choose>

Кнопки:
   <xsl:choose>
   <xsl:when test="document('udata://custom/checkDesktopMode/')/udata = 'true'">
                  <p class="view-device"><a href="?show_desktop_mode=false">Мобильная версия</a></p>


   </xsl:when>
   <xsl:otherwise>
             <p class="view-desktop"><a href="?show_desktop_mode=true">Полная версия сайта</a></p>

   </xsl:otherwise>
   </xsl:choose>

Работает. Убрать в стилях только кнопки на десктопе

2
А переменную show_desktop_mode в xsl:param в самом начале работы шаблонизатора объявили? Смотрите на аналогичную глобальную переменную <xsl:param name="p" />

Объявил

Цитировать
Но ничего не происходит

Добавьте в начало шаблона <xsl:variable name="desktopMode" select="document('udata://custom/setDesktopMode/')/udata" />

У меня в custom вот такие функции

   public function checkDesktopMode() {
   if($_GET['show_desktop_mode'] == 'true') {
      $_SESSION['desktopmode'] = 'true';
   } else {
      $_SESSION['desktopmode'] = 'false';
   }
}

public function getDesktopMode() {
   return (int) getSession('desktopmode') == 'true';
}


Какую переменную все-таки надо объявлять?

Сейчас на мобильных показывает полную версию. внизу кнопка мобильная версия, при нажатии добавляется
?show_desktop_mode=false
И ничего не происходит.

Мета теги:

   <xsl:choose>
   <xsl:when test="document('udata://custom/getDesktopMode/')/udata = 1">
        
                <meta name="viewport" content="width=1200"/>
   </xsl:when>
   <xsl:otherwise>
        
        <meta name="viewport" content="width=device-width, initial-scale=1"/>
   </xsl:otherwise>
   </xsl:choose>


Кнопки

   <xsl:choose>
   <xsl:when test="document('udata://custom/getDesktopMode/')/udata = 1">
                  <p class="view-device"><a href="?show_desktop_mode=false">Мобильная версия</a></p>


   </xsl:when>
   <xsl:otherwise>
             <p class="view-desktop"><a href="?show_desktop_mode=true">Полная версия сайта</a></p>

   </xsl:otherwise>
   </xsl:choose>

3
Ошибку поправил

Сделал так

   <xsl:choose>
   <xsl:when test="document('udata://custom/getDesktopMode/')/udata = 1">
        
         <meta name="viewport" content="width=1200"/>
   </xsl:when>
   <xsl:otherwise>        
        <meta name="viewport" content="width=device-width, initial-scale=1"/>
   </xsl:otherwise>
   </xsl:choose>


Кнопки

   <xsl:choose>
   <xsl:when test="document('udata://custom/getDesktopMode/')/udata = 1">
          
          <p class="view-device"><a href="?show_desktop_mode=false">Мобильная версия</a></p>

   </xsl:when>
   <xsl:otherwise>
         <p class="view-desktop"><a href="?show_desktop_mode=true">Полная версия сайта</a></p>
   </xsl:otherwise>
   </xsl:choose>


При нажатии на полную версию, добавляется в адрес ?show_desktop_mode=true

Но ничего не происходит

4
Когда в шаблон вставляю
<xsl:choose>
   <xsl:when test="document('udata://custom/getDesktopMode/')/udata = 1">
   </xsl:when>
   <xsl:otherwise>
   </xsl:otherwise>
</xsl:choose>

Белый экран

5
Это проверка, если дэсктоп 1
А если он 1, то переменной show_desktop_mode присвоить 0?

6
Как в условиях присваивать переменным значения, которые до этого были определены
<xsl:param name="desktopmode" />
<xsl:param name="show_desktop_mode" />

7
Не замена, а условие.
Если мобильная версия, то 1 тег, если включаем полную, то другой
На пхп делали так

<?php
session_start();
if($_GET['show_desktop_mode'] == 'true') {
    $_SESSION['desktopmode'] = 'true';
} else {
    $_SESSION['desktopmode'] = 'false';
}
?>


Теги

<?php
if($_SESSION['desktopmode'] == 'true') {
        //DESKTOP MODE, could be any width you want
        ?>
        <meta name="viewport" content="width=1200">
        <?php
    } else {
        // DEFAULT, utilize device width
        ?>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=2.0">
        <?php
    } ?>


Кнопки

            if($_SESSION['desktopmode'] == 'true') {
               // Checking for desktop mode. If yes, provide device link  ?>
                <p class="view-device"><a href="?show_desktop_mode=false">Мобильная версия</a></p>
            <?php
            } else {
               // // Checking for desktop mode. If yes, provide Desktop link  ?>
            <p class="view-desktop"><a href="?show_desktop_mode=true">Полная версия сайта</a></p> <?php } ?>   

Вот тоже самое надо сделать на XSLT, не вникну как

8
Приветствую,
Сайт на XSLT адаптивная верстка.
Как сделать в мобильной версии кнопку перейти на полную версию.
Полная версия достигается заменой мета тега
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=2.0">
на
<meta name="viewport" content="width=1200">

Спасибо

9
Всем привет, стоят на сайте стандартные коменты. Шаблон XSLT
При не заполнении полей, страница улетает наверх и там появляется следующее

Errors list:
Комментарий не был добавлен. Комментарий должен содержать непустой заголовок или непустой текст.


Как сделать так, чтобы при не заполнении(или неверном заполнении) поля, не вылетало бы наверх и не выводилась бы эта ошибка, а просто поле становилось бы красным. Куда копать?

Шаблон такой

    <xsl:template match="action">
        <h3>Добавить комментарий</h3>
        <form method="post" action="{.}" name="form_addcomment" id="form_addcomment">
            <fieldset class="intext">

                <label for="comment_author">
                    <span>Ваш имя:</span>
                    <input type="text" name="author_nick" id="comment_author" />
                </label>
                <label for="comment_text" id="for_comment" title="Текст">
                    <span>Текст:&nbsp;<sup class="asterisk">*</sup></span>
                    <textarea name="comment" id="comment_text" cols="6" />
                </label>
            </fieldset>
           <xsl:apply-templates select="document('udata://system/captcha//id')/udata[url]" />
            <input class="btt submit-send" type="submit" value="отправить"/>
        </form>

    </xsl:template>


    <xsl:template match="user[@status = 'auth']">
        <h3>Добавить комментарий</h3>

        <form method="post" action="/comments/post/{/result/@pageId}/" name="form_addcomment" id="form_addcomment">

            <fieldset class="intext">
                <!--<label for="comment_title" id="for_title" title="Заголовок">
                    <span>Заголовок:&nbsp;<sup class="asterisk">*</sup></span>
                    <input type="text" name="title" id="comment_title" />
                </label>-->

                <label for="comment_text" id="for_comment" title="Текст">
                    <span>Текст:&nbsp;<sup class="asterisk">*</sup></span>
                    <textarea name="comment" id="comment_text" cols="6" />
                </label>
            </fieldset>

            <input class="submit-send" type="submit" value="Отправить"/>

        </form>
    </xsl:template>

Спасибо


10
Спасибо, попробую интегрировать

11
Шаблоны XSLT / Re: Проверка related_block
« : 05 Марта 2016, 15:53:10 »
xslt

вывод такой

        <xsl:if test="$parent-id=32 and not($page-id=483)">
            <xsl:variable name="rubric_name" select=".//property[@name='subjects']/value/item/@id"></xsl:variable>
            <div class="other_articles">
                <h2>Так же читайте в рубрике</h2>
                <xsl:apply-templates select="document(concat('udata://news/related_links/',page/@id,'//20'))/udata"/>
            </div>
        </xsl:if>

12
Приветствую, такой вопрос - к ЮМИ можно прикрутить другие комментарии? Стандартные пропускают много спама.

13
Шаблоны XSLT / Проверка related_block
« : 05 Марта 2016, 14:08:00 »
Приветствую, подскажите, как сделать.
Есть новости. У каждой новости внизу есть блок читайте так же. Он выводит другие новости из этой рубрики. Но если новость не состоит в рубрике, то выводит вот что
file://news/#related_block_empty

Как сделать, чтобы не выводилось file://news/#related_block_empty если нет рубрики у новости?

Спасибо.

14
Не знаю для чего, метрика с этим вполне справляется. Клиенты просят. Просто в других движках это встроено, а тут ковырять надо

15
Спасибо, заработало

Страницы: [1] 2