我正在使用SDL Tridion 2011 SP1.我正在为组件创建Dreamweaver TBB.在我的组件中,一些字段是空的.但是在我的组件TBB中,我想检查字段是否为空,我不应该渲染它.如果字段不为空,那么我应该渲染并显示该值.我在检查嵌入字段中子字段的内容时遇到问题.
在我的组件上有一个名为"EMBFIELD"的多值嵌入式模式字段.EMBFIELD模式有一个名为"text"的文本字段.我想检查文本字段是否为空.如果它不为空,我必须遍历该字段以呈现值.
我必须通过"RenderComponentField"渲染字段.当我尝试渲染它时显示该字段不存在的一些错误.
我认为这可以使用If块来完成.
 <!-- TemplateBeginIf cond="Component.Fields.EMBFIELD" --> 
     <!-- TemplateBeginRepeat name="Component.Fields.EMBFIELD" -->
           <!-- TemplateBeginIf cond="Component.Fields.EMBFIELD.text" --> 
                 <div>@@RenderComponentField("Component.Fields.EMBFIELD.text",TemplateRepeatIndex)@@</div>
            <!-- TemplateEndIf -->      
     <!-- TemplateEndRepeat -->
 <!-- TemplateEndIf -->
Run Code Online (Sandbox Code Playgroud)
但它给出的错误就像
内部错误:上下文组件组件没有字段Component.Fields.conditionalText.text
我想通过在SDL Tridion 2011中使用核心服务2011直接提供XML源代码来创建组件.
我想编写代码来通过上传源XML来创建组件.使用核心服务2011.
说xml文件的名称是helloworld.xml,位置是D:\abcd\cdef\all\helloworld.xml.
我已经编写了这样的代码,但它不起作用.
XmlDocument contentxml = new XmlDocument();
contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml");
Response.Write("<BR>" + contentxml.ToString());
component.Content = contentxml.ToString();
ComponentData comp = (ComponentData)client.Create(component, new ReadOptions());
Run Code Online (Sandbox Code Playgroud)
在Response.write正在显示什么.如果我错过任何事情,请纠正我.它没有创建任何组件,错误即将来临.
当我试着这个:
XmlDocument contentxml = new XmlDocument();
try
{
    contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml");
}
catch (XmlException exp)
{
    Console.WriteLine(exp.Message);
}
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
contentxml.WriteTo(xw);
Response.Write("<BR>" + sw.ToString());
component.Content = sw.ToString();
ComponentData comp = (ComponentData)client.Create(component, new ReadOptions());
Run Code Online (Sandbox Code Playgroud)
这次它显示了unable to find UUId:一些类似的东西.
我的helloworld.xml看起来像这样.
<Content xmlns="uuid:1111eb85-0X11-11f9-1e2X-1X82X78fX920">
    <first>Hello …Run Code Online (Sandbox Code Playgroud) 我正在使用SDL Tridion 2011 SP1中的Core Service创建Schema.在创建Schema时,我使用了Schema的自定义命名空间URI.通常,当我们通过Tridion CME直接创建Schema时,我们将获得一个自动生成的名称空间URIuuid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
我使用此代码创建了一个Schema:
Tridion.ContentManager.CoreService.Client.SchemaData schemas = new SchemaData
{
    Title = "coreservicesschema3",
    Description = "coreservicesschema",
    Id = "tcm:0-0-0",
    LocationInfo = new LocationInfo
    {
        OrganizationalItem =
            new LinkToOrganizationalItemData { IdRef = "tcm:7-18-2" }
    },
    RootElementName = "Content",
    NamespaceUri = "customnamespaceuri",
    Xsd = xsd.ToString(SaveOptions.None)
};
schemas = (SchemaData)client.Create(schemas, new ReadOptions());
Response.Write("<BR>" +"new schema id"+ schemas.Id);
Response.Write("<BR>" + "new schema Name" + schemas.Title);
//schema created
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出如何使用默认命名空间URI创建架构吗?
谢谢
我正在使用XSLT介体在SDL Tridion 2011 SP1中处理XSLT模板构建块.
我只是想知道,如何在渲染时获取组件名称,版本及其TCMID.
任何人都可以帮助完成它吗?
我正在使用SDL Tridion 2011 SP1中的Dreamweaver TBB.在TBB中,我使用来自不同组件演示的数据.
My Template Building Block looks like this.
Run Code Online (Sandbox Code Playgroud)
主要成分:
<div>@@Component.Schema.Title@@</div>
<!-- TemplateBeginRepeat name="Fields.link" -->
    @@RenderComponentPresentation(Field, "tcm:1-8142-32")@@
<!-- TemplateEndRepeat -->
Run Code Online (Sandbox Code Playgroud)
组件模板:tcm:1-8142-32
它的DWT TBB看起来像这样.
<!-- TemplateBeginIf cond="Component.Fields.text" --> 
    <div>@@RenderComponentField("text",0)@@</div>
<!-- TemplateEndIf -->
Run Code Online (Sandbox Code Playgroud)
当我预览组件时,我得到了输出,所有组件演示都按预期执行.
输出:
SchemaName
    data1
    data2
Run Code Online (Sandbox Code Playgroud)
然后我用页面TBB创建了页面.
<html>
    <head></head>
    <body>
        <!-- TemplateBeginRepeat name="Components" -->
            @@RenderComponentPresentation()@@
        <!-- TemplateEndRepeat -->
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)
输出不符合预期.组件模板"tcm:1-8142-32"未执行.
输出:
SchemaName
Run Code Online (Sandbox Code Playgroud)
我想将SiteEdit也用于链接组件.
我是否需要为现有模板添加额外的模板?我正在使用Tridion 2012 UI.
我开始知道我们需要添加isQueryBased,属性必须设置为true.
如果是,是否可以帮助命令将其设置为true?
我不知道问题出在哪里.
任何人都可以帮我修改代码并为嵌入式组件实现SiteEdit吗?
我已经在架构中的一个RTF字段中添加了一些xsl格式化功能.
我在其中使用了以下代码段.对于任何错误,我需要停止组件保存并向用户显示一些自定义消息.
<xsl:message terminate="yes">
         <xsl:value-of select="'Some error message'"/>
</xsl:message>
Run Code Online (Sandbox Code Playgroud)
它停止组件保存,但不显示消息.
任何人都可以知道有没有更好的方法.
提前致谢.
我在远程服务器上使用telnet端口8089.
可以告诉我以下哪个命令是真的.
telnet 74.255.12.25 8089
Run Code Online (Sandbox Code Playgroud)
要么
telnet 74.255.12.25 89
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我已经实施了休息服务.
我试图在过滤器中获取请求的路径参数.
我的要求是
/api/test/{id1}/{status}
 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
        throws IOException, ServletException
    {
         //Way to get the path parameters id1 and status
     }
Run Code Online (Sandbox Code Playgroud) 我在 Spring Boot 中启用了 http 基本身份验证。从 Postman 打电话时,我看到奇怪的结果
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
  @Autowired
  private ApiUserDetailsService userDetails;
  @Bean
  public ShaPasswordEncoder passwordEncoder() {
    return new ShaPasswordEncoder();
  }
  @Autowired
  public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    ReflectionSaltSource salt = new ReflectionSaltSource();
    salt.setUserPropertyToUse("username");
    DaoAuthenticationProvider dao = new DaoAuthenticationProvider();
    dao.setUserDetailsService(userDetails);
    dao.setPasswordEncoder(passwordEncoder());
    dao.setSaltSource(salt);
    auth.authenticationProvider(dao);
  }
  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().anyRequest().authenticated().and().csrf().disable().httpBasic();
  }
Run Code Online (Sandbox Code Playgroud)
客户详细信息
@Service
public class ApiUserDetailsService implements UserDetailsService {
  @Autowired
  private JdbcTemplate jdbcTemplate;
  @Value("${spring.queries.users.query}")
  private String usersQuery;
  @Override …Run Code Online (Sandbox Code Playgroud) 我有两个网站说
1. firstwebsite.com
2. secondwebsite.com
Run Code Online (Sandbox Code Playgroud)
firstwebsite 中的所有页面都是静态的。现在我想将 firstwebsite.com 中的所有页面移动到 secondwebsite.com。我想关闭 firstwebsite.com 的所有服务器
我还想确保什么时候 URL firstwebsite.com/** 应该重定向到 secondwebsite.com/**
firstwebsite.com/abc.html 应该重定向到 secodnwebsite.com/abc.html
我正在使用弹簧。有人可以指导我如何做到这一点。后来我还想根据发送请求的设备做一些处理。
如果我能得到上面的一些参考,那就太好了。
tridion ×6
tridion-2011 ×3
servlets ×2
.net ×1
c# ×1
java ×1
jersey ×1
postman ×1
rest ×1
spring ×1
spring-boot ×1
spring-mvc ×1
telnet ×1
unix ×1
xml ×1