We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30247
    • 74 Posts
    И снова я столкнулся с проблемой.
    Есть документ которому задано несколько параметров TV типа image.
    Вопроса 2:
    1. При редактировании документа невозможно задать размеры изображения, чтобы на выходе получить код наподобии:
    <img src="assets/images/picture.jpg" alt="" width="102" height="282"/>

    2.Есть параноидальное желание увидеть зеленый свет валидатора.... Но он требует чтобы задавался атрибут alt. Задавать его я собственно говоря не желаю, поскольку картинка чисто дизайнерская и смысловой нагрузки не несёт, а всеми любимый ИЕ, этот самый alt, показывает всплывающей подсказкой, что вызывет гнев дизайнера. Заставить выводить пустой атрибут у мнея не получилось.

    Конечно можно заморочится с еще парой параметров TV которые будут содержать размеры и пустой alt... Но как то неэстетично выглядит такое решение.
    Еще была идея сделать текстовое поле, куда будет вносится тег img в олном объеме вручную... Но тоже вопрос а нафига тогда CMS.
      • 29487
      • 385 Posts
      Речь идёт о виджете? Чтобы выводился пустой alt, нужно в файле manager\includes\tmplvars.format.inc.php
      поменять 47 строку (для 0.9.6.3):
      foreach ($attr as $k => $v) $attributes.= ($v ? ' '.$k.'="'.$v.'"' : '');

      на
      foreach ($attr as $k => $v) $attributes.= (($v||$k=='alt') ? ' '.$k.'="'.$v.'"' : '');
        • 30247
        • 74 Posts
        Да, речь о виджете. Версия 0.9.6.3 rev 4565

        Cпасибо. Пустой альт появился. а как быть с размерами изображений? Для меня это важно, чтобы и при отключенных картинках они размещались строго по месту.
        В идеале возможность выбора при настройке параметра TV иметь возможность задавать размеры либо для всех картинок сразу, либо для каждой из картинок
          • 897
          • 1,620 Posts
          а если сделать виджет у TV простым путем, а уже в чанке настраивать все детали? и не надо в код лесть
            "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

            Не используйте Revo для "просто сайтов". Используйте Evo

            Who can defeat the Russian bear?
            • 30247
            • 74 Posts
            То есть я правильно понял: В качестве параметра поставить вызов чанка в котором прописаны размеры?
            Для одинаковых по размеру картинок пойдет, а если один TV-image на одной странице имеет одни размеры и изображение, а на другой другие размеры и другое изображение.

            Как бы для таких целей заюзать вставку изображений от TinyMCE, причем там размеры изображения подставляются автоматом.
            Типа параметр TV обычный html а код для него готовит тот же скрипт что и вставку изображения для TinyMCE.
            (как то я непонятно, даже для себя, выразился. если кто понял, о чем я, переведите на русский.)

            Кто английский знает, может стоит кинуть разработчикам для релиза революции, или там уже все это предусмотрено?
              • 897
              • 1,620 Posts
              конкретное значение TV привязывается к конкретному документу, как вы хотите tv одного документа использовать "на другой странице". видимо через сниппет? тогда вам проще через TinyMCE вставлять картинки.

              давайте начнем с начала, а имеено будем плясать от задачи. Мне кажется вы неправильно выбрали ренешие через tv.
                "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

                Не используйте Revo для "просто сайтов". Используйте Evo

                Who can defeat the Russian bear?
                • 30247
                • 74 Posts
                конкретное значение TV привязывается к конкретному документу, как вы хотите tv одного документа использовать "на другой странице". видимо через сниппет? тогда вам проще через TinyMCE вставлять картинки.
                это да... но к ко всем значениям TV можно привязать один и тот же размер указанный в сниппете.

                давайте начнем с начала, а имеено будем плясать от задачи. Мне кажется вы неправильно выбрали ренешие через tv.
                Задача текущая: к каждой странице должно быть привязано 2 изображения. 1 и 2 изображния отличаются по размеру. 1-ые изображения всех документов по размерам равны.
                Картинки собираются при помощи $modx->getDocumentChildrenTVarOutput

                Но мечталось бы получить универсальный инструмент....
                  • 29487
                  • 385 Posts
                  Если очень нужны ширина и высота, можно сделать так:
                  В файле tmplvars.format.inc.php найди строки
                  // Output the image with attributes
                  $o .= '<img'.rtrim($attributes).' />';
                  

                  и поменяй на:
                  // Output the image with attributes
                  $imagehw = getimagesize($modx->config['base_path'].$src);
                  $o .= '<img'.rtrim($attributes).' width="'.$imagehw[0].'" height="'.$imagehw[1].'" />';
                  
                    • 30247
                    • 74 Posts
                    Спасибо
                    Честно признаюсь думал и о таком варианте, но смутили 2 вещи:
                    1. не знал где именно править код, искать (можете пинать ногами) поленился. (Огромное спасибо за подсказку, куда лезьть.)
                    2. А не создаст ли это лишнюю нагрузку на сервер? Просто не знаю как построена работа с параметрами TV. Если на странице будет 5-10-15-50 картинок но одинакового размера, это один параметр. Если его единожды получить из базы и дальше подставлять, то все норм.
                    А так придется анализировать все изображения... Хотя кэширование спасет наверно....

                    Add:
                    Еще раз огромное спасибо!