04-18-2018 06:07 AM
04-18-2018 06:23 AM
Tal y como he comentado en el otro hilo, tienes que usar la página advsearch.get.html.ftl
El resto es equivalente.
Por favor, no repitas la misma pregunta en diferentes hilos.
04-20-2018 04:22 AM
Buenas Angel Borroy que me estará faltando para agregar el boton ?
(function() {
var Dom = YAHOO.util.Dom, Event = YAHOO.util.Event, Selector = YAHOO.util.Selector, Bubbling = YAHOO.Bubbling;
var $html = Alfresco.util.encodeHTML, $siteURL = Alfresco.util.siteURL;
if (typeof custom == "undefined" || !custom) {
custom = {};
}
if (!custom.button) {
custom.button = {};
}
custom.button.MiSearch = function CustomAdvanceSearch_constructor(htmlId) {
custom.button.MiSearch.superclass.constructor.call(this,htmlId);
return this;
};
YAHOO.extend(custom.button.MiSearch,
Alfresco.Alfresco.AdvancedSearch);
YAHOO.lang.augmentProto(custom.button.MiSearch,
Alfresco.doclib.Actions);
YAHOO.extend(custom.button.MiSearch,Alfresco.AdvancedSearch,{
onReady: function ADVSearch_onReady(){
custom.button.MiSearch.superclass.onReady.call(this);
this.widgets.customButton = Alfresco.util.createYUIButton(this,"search-button-3",this.onClickCustomButton, {
disabled : false,
value : "CreateChildren"
});
},
onClickCustomButton: function ADVSearch_onSearchClick(e, obj){
}
});
})();
04-20-2018 09:36 AM
A parte de la extensión de YUI que incluyes, ¿qué otras modificaciones estás haciendo? ¿Has incluido el "search-button-3" en la plantilla FTL?
04-20-2018 09:41 AM
mira estos son los archivos, gracias
.html.ftl
<@script type="text/javascript" src="${url.context}/res/components/search/extend-search.js" group="search" />
<@markup id="custonsearch-buuton" >
<@uniqueIdDiv>
<#assign el = args.htmlid?html>
<div class="yui-gc form-row">
<div class="yui-u first"></div>
<#-- search button -->
<div class="yui-u align-left">
<span id="${el}-search-button-3" class="yui-button yui-push-button search-icon">
<span class="first-child">
<button type="button">${msg('button.search')}</button>
</span>
</span>
</div>
</div>
</div>
</@>
</@>
.get.js
for (var i = 0; i < model.widgets.length; i++) {
if (model.widgets[i].id == "AdvancedSearch") {
model.widgets[i].name = "custom.button.MiSearch";
}
}
04-20-2018 10:43 AM
Te falta indicarle a Surf que quieres sobreescribir los componentes de org.alfresco.components.search
Algo parecido a esto: alfresco-add-menu-sample/add-menu.xml at master · angelborroy/alfresco-add-menu-sample · GitHub
https://github.com/angelborroy/alfresco-add-menu-sample#extender-el-componente-de-alfresco
04-20-2018 10:47 AM
Hola mira también hice la extencion, en site-data/extensions, me guié de es ejemplo.
<?xml version="1.0"?>
-<extension>
-<modules>
-<module>
<id>Add Button Scan</id>
-<customizations>
-<customization>
<targetPackageRoot>org.alfresco.components.search</targetPackageRoot>
<sourcePackageRoot>com.abc.buttom-search</sourcePackageRoot>
</customization>
</customizations>
<auto-deploy>true</auto-deploy>
</module>
</modules>
</extension>
04-21-2018 04:02 AM
Vamos a volver a revisar algunos conceptos. He montado un proyecto con tu código fuente y he visto algunos problemas.
Extensión Surf de los componentes
Requerida para extender componentes de Alfresco en la ruta org.alfresco.components.search
/src/main/resources/alfresco/web-extension/site-data/extensions/ext-adv-search.xml
<extension>
<modules>
<module>
<id>Testing add button</id>
<customizations>
<customization>
<targetPackageRoot>org.alfresco.components.search</targetPackageRoot>
<sourcePackageRoot>com.abc.button-search</sourcePackageRoot>
</customization>
</customizations>
<auto-deploy>true</auto-deploy>
</module>
</modules>
</extension>
Adición de componentes en la página FTL
Requerido para incluir componentes en la página. La propiedad target indica la sección de la página en la que quieres añadir tu componente.
src/main/resources/alfresco/web-extension/site-webscripts/com/abc/button-search/advsearch.get.html.ftl
<@markup id="customDocumentlist-js" target="js" action="after">
<@script type="text/javascript" src="${url.context}/res/components/search/extend-search.js" group="search" />
</@>
<@markup id="custom-button" target="html" action="before">
<@uniqueIdDiv>
<#assign el = args.htmlid?html>
<div class="yui-gc form-row">
<div class="yui-u first"></div>
<#-- search button -->
<div class="yui-u align-left">
<span id="${el}-search-button-3" class="yui-button yui-push-button search-icon">
<span class="first-child">
<button type="button">${msg('button.search')}</button>
</span>
</span>
</div>
</div>
</div>
</@>
</@>
Creación del componente YUI que extiende el original
Requerido para añadir el control JavaScript a los botones o elementos que se añaden en la página.
src/main/resources/META-INF/components/search/extend-search.js
(function() {
var Dom = YAHOO.util.Dom, Event = YAHOO.util.Event, Selector = YAHOO.util.Selector, Bubbling = YAHOO.Bubbling;
var $html = Alfresco.util.encodeHTML, $siteURL = Alfresco.util.siteURL;
if (typeof custom == "undefined" || !custom) {
custom = {};
}
if (!custom.button) {
custom.button = {};
}
custom.button.MiSearch = function CustomAdvanceSearch_constructor(htmlId) {
custom.button.MiSearch.superclass.constructor.call(this, htmlId);
return this;
};
YAHOO.extend(custom.button.MiSearch, Alfresco.AdvancedSearch);
YAHOO.extend(custom.button.MiSearch, Alfresco.AdvancedSearch,{
onReady : function ADVSearch_onReady() {
custom.button.MiSearch.superclass.onReady.call(this);
this.widgets.customButton = Alfresco.util.createYUIButton(this,
"search-button-3", this.onClickCustomButton, {
disabled : false,
value : "CreateChildren"
});
},
onClickCustomButton : function ADVSearch_onSearchClick(e, obj) {
}
});
})();
Carga del componente YUI personalizado
Requerido para que sea instanciado en sustitución del original
src/main/resources/alfresco/web-extension/site-webscripts/com/abc/button-search/advsearch.get.js
for (var i = 0; i < model.widgets.length; i++) {
if (model.widgets[i].id == "AdvancedSearch") {
model.widgets[i].name = "custom.button.MiSearch";
}
}
Con estos cambios el botón ya aparece en la página, aunque todavía quedaría definir su comportamiento en la función onClickCustomButton del componente YUI.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.