gpt4 book ai didi

tridion - ASCX Web 控件未存储在数据库中

转载 作者:行者123 更新时间:2023-12-04 17:24:18 24 4
gpt4 key购买 nike

最近我们从 Tridion 5.3 升级到了 Tridion 2011 SP1。

在我们现有的实现中,我们有各种动态组件模板。少数 CT 的输出格式为 ASCX Web 控制,少数 CT 的输出格式为 HTML 片段。

发布后我们遇到了
1) ASCX WebControls 不存储到存储数据库 (SQLServer)。在 Tridion 5.3 中它们是。
2) HTML 片段被存储在数据库中。

在我们的实现中,二进制文件、页面、嵌入式组件模板存储在文件系统中,而动态组件模板存储在 SQL Sever 数据库中。

我们认为我们在 cd_storage_config 中遗漏了一些东西。请找到附加的配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="6.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
<Global>
<ObjectCache Enabled="false">
<Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
<Param Name="MemSize" Value="16mb"/>
</Policy>
<Features>
<Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/>
</Features>
</ObjectCache>
<Storages>
<Storage Type="persistence" Id="sqlserver" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="local" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="TridionBroker" />
<Property Name="user" Value="TridionBrokerUser" />
<Property Name="password" Value="mypass" />
</DataSource>
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false">
<Root Path="d:\Inetpub\MyPortal" />
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true">
<Root Path="d:\Inetpub\MyPortal\data" />
</Storage>
<SearchFilter Name="SearchFilter" Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome" defaultStorageId="sqlserver"/>
</Storages>
</Global>
<ItemTypes defaultStorageId="defaultDataFile" cached="false">
<Item typeMapping="Query" storageId="sqlserver"/>
<Item typeMapping="Page" cached="false" storageId="defaultFile"/>
<Item typeMapping="Binary" cached="false" storageId="defaultFile"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Jsp" storageId="sqlserver"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Xml" storageId="sqlserver"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Txt" storageId="sqlserver"/>
<Item typeMapping="Metadata" cached="true" storageId="sqlserver"/>
<Item typeMapping="XSLT" cached="true" storageId="sqlserver"/>
</ItemTypes>
<License Location="d:\Tridion\config\cd_licenses.xml"/>

最佳答案

您的存储配置中没有任何 ascx 绑定(bind)。在 5.3 中,它曾经是 Asp 绑定(bind)。

更改以下内容:

<Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/>

到:
<Item typeMapping="ComponentPresentation" itemExtension=".ascx" storageId="sqlserver"/>

此外,在 tridion 2011 中,如果您希望所有内容都存储在 db 中,则无需为每种类型(如 txt、jsp 等)指定映射。

你可以简单地这样做:
<Item typeMapping="ComponentPresentation" storageId="sqlserver"/>

关于tridion - ASCX Web 控件未存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12988309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com