CmwFAQDevBeginner: различия между версиями
Shaplov (обсуждение | вклад) |
Shaplov (обсуждение | вклад) |
||
Строка 67: | Строка 67: | ||
A: Никак. Используйте <:EditField:> в нем таких проблем не возникает. | A: Никак. Используйте <:EditField:> в нем таких проблем не возникает. | ||
+ | === Добавил новый тип итема, а в Вебмастерской и Обзоре сайта он не появился почему?=== | ||
+ | Q: Добавил новый тип итема, а в Вебмастерской и Обзоре сайта он не появился почему? | ||
+ | |||
+ | A: По всей видимости Вы добавили новый тип итема из интерфейса одного сайта, а обзор сайта пытаетесь использовать в другом. Для чтобы вновь созданный тип итема MY_TYPE1 появился на в списке типов на сайте SITE_A, необходимо через меню администратора сайта SITE_A перейти к странице "типы итема", найти тип MY_TYPE1 в списке "Типы, используемые на других сайтах" и нажать на ссылку "Использовать" рядом с именем MY_TYPE1. После этого тип MY_TYPE1 должен появиться в списках типов итемов в Вебмастерской и в Обзоре сайта. |
Версия от 01:24, 18 февраля 2006
Как в шаблоне вывести тег
Q: У меня есть атрибут в котором находится текст с тегами html. При выводе значения этого атрибута в браузер показывает текст тега вместо того чтобы обработать его значение. Например
<:Define VAR "Value1<br>Value2<br>Value3":> <:Attr VAR:>
в результате показывает в браузере строку
Value1<br>Value2<br>Value3
тогда как хочется чтобы он показал
Value1 Value2 Value3
A: Динамический элемент <:Attr:> выводит значение атрибута так, чтобы текст в атрибуте одни к одному совпадал с текстом в браузере, соответственно знаки больше и меньше при выводе заменяются на амперсанд последовательности > и < потому браузер и не отрабатывает тег, а заменяет просто выводит его на экран.
Для того чтобы тег попал в текст генерируемой страницы в неизмененном виде следует использовать динамический элемент <:Subst:>, который помещает значение атрибута напрямую в генерируемую страницу не подвергая его никаким изменениям.
<:Define VAR "Value1<br>Value2<br>Value3":> <:Subst @VAR:>
Почему <:ItemLink:> и <:Attr:> заменяют некоторые символы на амперсант последовательности?
Q: Пытаюсь в шаблоне отобразить ссылку с текстом собранным из нескольких частей
<:Define STR "@NUM. @TITLE":> <:ItemLink @ITEM_ID @STR:>
В случае если в значении атрибута TITLE попадается например символ кавычка, то он в браузере отображается в виде текста амперсанд последовательности
1. ООО "Рога и копыта"
Если же выводить текст ссылки напрямую из атрибута TITLE
<:ItemLink @ITEM_ID @TITLE:>
то все кавычки будут отображаться как положено:
ООО "Рога и копыта"
В чем тут дело?
A: К сожалению внятно объяснить причину этого явления не представляется возможным. К счастью известно как этот эффект обойти. Для того чтобы <:ItemId:> и <:Attr:>(который тоже к стати подвержен этой проблеме) не заменяли символы на амперсанд последовательности, нужно при определении значения атрибута, из которого потом будет браться текст для ссылки, явным образом в качестве типа данных атрибута указать RICHTEXT
<:Define STR "@NUM. @TITLE" RICHTEXT:> <:ItemLink @ITEM_ID @STR:>
Тогда полученная ссылка будет содержать сами символы а не текст их амперсанд последовательностей
1. ООО "Рога и копыта"
Как при помощи <:Input:> редактировать текст с кавычкой
Q: Пытаюсь редактировать атрибут
<:Input text TITLE @TITLE:>
Если в тексте атрибута попадается кавычка, то в поле ввода она попадает в виде "
ООО "Рога и копыта"
Как с этим бороться?
A: Никак. Используйте <:EditField:> в нем таких проблем не возникает.
Добавил новый тип итема, а в Вебмастерской и Обзоре сайта он не появился почему?
Q: Добавил новый тип итема, а в Вебмастерской и Обзоре сайта он не появился почему?
A: По всей видимости Вы добавили новый тип итема из интерфейса одного сайта, а обзор сайта пытаетесь использовать в другом. Для чтобы вновь созданный тип итема MY_TYPE1 появился на в списке типов на сайте SITE_A, необходимо через меню администратора сайта SITE_A перейти к странице "типы итема", найти тип MY_TYPE1 в списке "Типы, используемые на других сайтах" и нажать на ссылку "Использовать" рядом с именем MY_TYPE1. После этого тип MY_TYPE1 должен появиться в списках типов итемов в Вебмастерской и в Обзоре сайта.