2013-04-03 4 views
1

Пожалуйста, дайте мне знать Как вызвать функцию Vbscript в шаблоне Compound (используя фрагмент C#) в Tridion 2011?Как вызвать функцию Vbscript в составном шаблоне (используя фрагмент C#) в Tridion?

+3

Hi TridionDev. Спасибо за ваш вопрос. В случае, если вы не знали, теперь есть специальный сайт Tridion Stack Exchange по адресу http://tridion.stackexchange.com. –

ответ

4

Я уверен, что это невозможно. Вы не можете смешивать устаревшие шаблоны с модульными шаблонами.

+1

Небольшая коррекция: вы не можете смешивать устаревшие шаблонные строительные блоки с модульными строительными блоками шаблонов. Тем не менее, вы можете отлично использовать шаблон компонента VBScript для презентации компонентов на странице, использующей модульный шаблон страницы. –

3

Похоже, вы смешиваете старые шаблоны страниц VBScript с текущим стилем. Составные шаблоны компонентов (или что-то подобное). Mixing the two types is (sometimes) possible, но вы не можете вызывать функции в шаблонах страниц из ваших шаблонов компонентов, как вы могли, с помощью чистой настройки VBScript.

Вам нужно будет повторно реализовать его функциональность VBScript Function как либо шаблона Dreamweaver вызываемая custom function или на основе .Net Template Building Block (C# fragment или .Net assembly) в зависимости от вашего использования.

+0

Спасибо за предложение david. Но для моего случая существующий шаблон Component использует Vbscript TBB, поэтому я хочу использовать один и тот же VBScript TBB для другого шаблона шаблона компонента по шаблону Compond. Так вы могли бы посоветовать, как назвать существующий VBScript TBB, используя фрагменты C#. – TridionDev

+0

Вы не можете вызывать функцию в VBScript TBB из фрагмента C#. Оба шаблона шаблонов просто несовместимы таким образом. Вы должны повторно создать функциональность, используя что-то, что совместимо с сложным шаблоном. –

+1

Вы можете использовать шаблон компонента в VB с шаблоном страницы в C#/модульных шаблонах. Но вы не можете использовать VB и C# в одном шаблоне –

2

ОК - только для удовольствия, строго буквальный ответ. Обратите внимание, что я не сторонник такого подхода.

  1. Написать функцию VBScript
  2. Преобразовать файл VBScript в Windows Script Component
  3. Создать оболочку .NET Interop для компонента Windows Script
  4. Положите вещь в GAC я должен думать ...
  5. Вызов его из C фрагмента

# Как я уже говорил - это строго буквальный ответ на ваш вопрос, как с рован. Достаточно сказать, что технически можно делать то, что вы просите, но это не будет полезно, потому что, помимо всего технического затруднения в работе над всеми этими слоями, то, что вы хотите сделать в шаблоне, обычно вызывает Tridion API, и, конечно же, API-интерфейсы, доступные из среды шаблонов VBScript, отличаются от тех, которые доступны через Compound Templating.

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

+0

Нет! Плохой Доминик !!! – johnwinter