2016-04-27 30 views
0

我成功地修改了户外advseach。 现在我必须更换原件。我真的不知道我该如何做到这一点,直到这一刻我正在分享/目标,但我不能再那样做了。我需要以某种方式重写advsearch的默认网址。我需要Alfresco在干净安装后或命令mvnclean之后调用我的advsearch,而不是默认advsearch。Alfresco替换组件advsearch

我认为这应该工作:

<extension>   
    <modules>     
    <module>      
     <id>ADVSearchExt</id> 
     <version>1.0</version> 
     <auto-deploy>true</auto-deploy>       
     <components>        
      <component>         
       <region-id>search</region-id> 
       <source-id>advsearch</source-id> 
       <scope>page</scope>          

       <url>/comp/advsearchext</url>           

      </component>       
     </components>     
    </module>    
    </modules> 
</extension> 

回答

1

看起来您已经为组件创建了替代WebScript,并且您希望将其交换出去。正如您正在尝试的那样,无法重新配置现有的组件配置。您实际需要做的是创建一个扩展名以删除默认组件(请参阅this blog post),然后提供另一个组件来呈现WebScript(请参阅this blog post)。

+0

我已经使用这个,我不能让我自己的工作,即使我重写只是这样简单的页面:

dbsajdjasd

+0

这似乎并不是你在你的问题中描述的...也许你可以更新这个问题,以显示两个扩展删除原来的组件,并添加你的新的。 –

+0

我添加一个answear whre我分享这两个扩展我还描述,不幸的是只有其中一个工作 –

1

注:在这个问题的后续读取,我已经意识到这原来的答案并没有直接回答这个问题,但是它确实包含有用的相关信息...我会尝试回答实际问题!

假设您使用的是Alfresco 5.0或5.1,那么访问高级搜索页面(通过标准导航)的唯一方法是通过标题栏中的下拉菜单选项。

标题栏是由Aikau提供的,当您单击该“高级搜索...”菜单项时,自定义标题栏以导航到备用页面是一个相对简单的练习。

blog post是3部分系列中的第1部分,它描述了如何自定义标题栏。

您需要自定义的小部件是“alfresco/header/SearchBox”小部件。不幸的是,目前它没有关闭一个简单的配置选项来改变页面导航到。在这种情况下,您可以在Aikau Github page上提出问题以提出添加此功能的请求。这需要您等待将来的版本中包含该功能(每周发布一次),然后使用该新的配置选项。

另一种方法是扩展默认的SearchBox小部件并创建一个新的扩展模块,用您的自定义版本替换掉默认的SearchBox。您需要扩展postCreate函数并删除已创建的alfresco/menus/AlfMenuItem,并将其替换为具有合适的targetUrl的函数。

不幸的是,这不是最有前途的证明或最简单的解决方案,但是是可能的。未来最好的解决方案(就未来升级到Alfresco而言)将是明确提出功能请求,以便能够重新配置高级搜索页面。