2012-05-07 28 views
7

C# TBB (C# Kod parçası) oluşturuyorum. Bunun için kullanıcı tanımlı bir yöntem yazmam gerekiyor. <% kullanarak oluşturmayı denedim! %>. Kodda kullanıcı tanımlı yönteme nasıl erişilir. Şimdiden teşekkürler. Lütfen bu sorunu çözmem için bana bir yol öner.C# TBB (C# kod parçası) kullanıcı tanımlı yöntemler nasıl eklenir?

Yukarıdakilere ek olarak
<%@ Import Namespace="Tridion.ContentManager.Publishing"%> 
<%! 
private string ExtraString() 
{ 
    return "Something added by the C# template"; 
} 
%> 
log.Debug("Executing C# template"); 
if (engine.RenderMode == RenderMode.Publish) 
{ 
    package.GetByName(Package.OutputName).AppendToStringValue(ExtraString()); 
} 

aşağıdaki sözdizimi desteklenir:

<%@Import Namespace="..." %> 

içine tırnak işareti arasına yerleştirilmiş bir ad aktarır

cevap

11

TOM.NET API başvuru, aşağıdaki örnek teşkil etmektedir kod parçası. İçe aktardığınız her sınıf, Genel Kurul Önbelleğinde bulunmalıdır.

<%! ... %> 

Kullanılacak kod parçasının geri kalanı için yöntemleri, sabitleri ve sınıfları bildirir. Bildirimler '%>' dizesini içeremez. Oluşturduğunuz tüm sınıfların yalnızca kod parçası içinde referans alınabileceğini unutmayın.

<%RunTemplate Template="tcm:1-184-2048" Class="Tridion.Templating.Examples.ExampleTemplateClass"%> 

Şablon özelliğinde URI tarafından tanımlanan belirli bir .NET Meclis Şablon Bina Blok, çalıştırır. Bu ifade, .NET derlemesinde belirli bir sınıfa erişim sağlamak için bir .NET derlemesini yüklediğinizde genellikle SDL Tridion 2009 tarafından oluşturulur.

<%@Assembly Name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"%> 

Genel Kurul Önbelleğinde bulunması gereken standart olmayan bir .NET grubuna başvuru ekler. Tam montaj adını kullanın.

+0

Eğer bu var dokümantasyon sayfasına bir bağlantı verir misiniz? –

3

Bu belge, örneğin Nickol işaretlemesiyle birlikte reference link numaralı belgedir.

1

C# Kod Fragmanında Sınıfların yanı sıra Fonksiyonlar oluşturma hakkında ayrıntılı bilgi için aşağıdaki bağlantılara bakın.

  1. Fonksiyonlar: https://rcnitesh.wordpress.com/2015/04/23/functions-in-c-tbb/
    [kod örnekleri dahil olmak üzere tam ayrıntılar için yukarıdaki linke kontrol]

  2. Sınıflar:

  3. : Aşağıda https://rcnitesh.wordpress.com/2015/04/24/creating-user-defined-classes-in-c-code-fragment/ yukarıdaki Blog bir alıntıdır

Sınıflar bir C# Co içinde tanımlanmıştır yapıyı kullanarak Fragment: <%! %>.

Bu USER tanımlı sınıfı C# Code parçasını derlerken Tridion tarafından oluşturulan PREDEFINED CLASS'İN NESTED SINIF olarak yerleştirilir. C# Kod Parçası derlemesi ve Ön tanımlı sınıflar, Tridion'un Predefined sınıfının Kullanıcı tanımlı Sınıfla olan ilişkisini anlamak için C# Kod Parçası

'dan bahsettiğimiz gibi, bu blog gönderisini kontrol edin. Anlamak gerekir ki, bir C# Kod Parçası içindeki Kullanıcı tanımlı sınıflar, aşağıdaki gibi önceden tanımlanmış değişkenlere erişemez: bu değişkenler aslında derleme sırasında oluşturulan Öntanımlı sınıfta Özel olarak bildirildiğinden.

[yukarıdaki bağlantıları kontrol, kod örnekleri de dahil olmak üzere tüm ayrıntılar için]

İlgili konular