2012-05-07 35 views

Trả lời

11

Tham chiếu TOM.NET API cung cấp các ví dụ sau:

<%@ 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()); 
} 

Ngoài việc trên, cú pháp sau được hỗ trợ:

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

Nhập khẩu các namespace kèm giữa dấu ngoặc kép vào đoạn mã. Bất kỳ lớp nào bạn nhập phải có mặt trong Bộ đệm ẩn toàn cục.

<%! ... %> 

Khai báo phương thức, hằng số và lớp cho phần còn lại của đoạn mã để sử dụng. Các khai báo không thể chứa chuỗi '%>'. Lưu ý rằng bất kỳ lớp nào bạn tạo chỉ có thể được tham chiếu trong đoạn mã.

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

Chạy khối xây dựng mẫu lắp ráp .NET cụ thể, được xác định bởi URI trong thuộc tính Mẫu. Tuyên bố này thường được tạo ra bởi chính SDL Tridion 2009 khi bạn tải lên một assembly .NET, để cung cấp quyền truy cập vào một lớp cụ thể trong .NET Assembly.

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

Chèn tham chiếu đến hội đồng .NET không chuẩn, phải có trong Bộ nhớ đệm toàn cầu. Sử dụng tên lắp ráp đầy đủ.

+0

Bạn có thể vui lòng cung cấp một liên kết đến các trang tài liệu mà bạn nhận được điều này từ đâu? –

1

Kiểm tra các liên kết bên dưới để biết chi tiết đầy đủ về cách tạo Chức năng cũng như Lớp học trong Phân đoạn mã C#.

  1. Chức năng: https://rcnitesh.wordpress.com/2015/04/23/functions-in-c-tbb/
    [Để biết chi tiết đầy đủ bao gồm các mẫu mã, kiểm tra liên kết ở trên]

  2. Lớp học: https://rcnitesh.wordpress.com/2015/04/24/creating-user-defined-classes-in-c-code-fragment/ Dưới đây là một đoạn trích từ các Blog trên:

Các lớp học được xác định bên trong C# Co de Fragment sử dụng cấu trúc: <%! %>.

Lớp USER được định nghĩa này được đặt là lớp CÂU HỎI của lớp được xác định do Tridion tạo khi biên dịch đoạn mã C#. Kiểm tra bài đăng blog này để biết chi tiết chi tiết về C# Code Fragment compilation và các lớp Predefined, các phương thức được tạo bởi tridion cùng với sự hiểu biết mối quan hệ của lớp Predefined của Tridion với User defined Class trong C# Code Fragment

Điều đó nói trên cần hiểu là các lớp User defined trong C# Code Fragment không thể truy cập các biến được xác định trước như: log, engine và package, vì các biến này thực sự được khai báo Private trong lớp Predefined được tạo trong quá trình biên dịch.

[Để biết chi tiết đầy đủ bao gồm các mẫu mã, kiểm tra các liên kết trên]

Các vấn đề liên quan