Slider como widget

imported_babyrodri Seguir

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Jul 2010
Mensajes
12
Buenas vengo a pedir ayuda para poder hacerle una modificación a este addon para poderlo usar como Widget...

Bueno la cosa al instalar el Slide Show Pro es que después de configurarlo y que quede bien con los enlaces, imágenes y demás se muestra en el forumhome, pero yo no lo necesito allí, yo lo necesito en el Home del CMS hasta arriba de todo...

Entonces hice lo siguiente, copie el código que esta en una plantilla (slide_show_main) que se generá después de instalar el producto y elimine ese mismo código:
HTML:
<!-- Slide Show by Keite v1.0 starts here -->
<script language="javascript" type="text/javascript">
<!--
var embedFPSSCSS = '<' + 'style type="text/css" media="all">'
+ '@import "slideshow/templates/{vb:raw $slconfig.styles}/template_css.php?w={vb:raw $slconfig.width}&h={vb:raw $slconfig.hight}&sw={vb:raw $slconfig.tabwidth}";'
+ '</' + 'style>';
document.write(embedFPSSCSS);
-->
</script>
<!--[if lte IE 7]>
<style type="text/css" media="all">
@import "slideshow/templates/{vb:raw $slconfig.styles}/template_css_ie.css";
</style>
<![endif]-->
<script language="javascript" type="text/javascript" src="slideshow/engines/jquery-comp.js"></script>
<script language="javascript" type="text/javascript" src="slideshow/engines/jquery-fpss-comp.js"></script>
<script language="javascript" type="text/javascript">
var speed_delay = 6000;
var slide_speed = 1000;
var CTRrotateAction = 'click';
</script>


<div id="fpss-outer-container" >
    <div id="fpss-container">
        <div id="fpss-slider">
            <div id="slide-loading"></div>
            <div id="slide-wrapper">
                <div id="slide-outer">
                    <vb:each from="sl" value="slice">
					<div class="slide">
                        <div class="slide-inner">
                            <a class="fpss_img" href="{vb:raw slice.link}">
                                <span>
                                    <span style="background:url({vb:raw slice.images}) no-repeat;">
                                        <span>
                                            <img src="{vb:raw slice.images}" alt="Click on the slide!" />
                                        </span>
                                    </span>
                                </span>
                            </a>
                
                            <div class="fpss-introtext">
                                <div class="slidetext">
                                    <h1><a href="{vb:raw slice.link}">{vb:raw slice.title}</a></h1>
                                    <h2>{vb:raw slice.title}</h2>
                                    <h3>{vb:raw slice.content_title}</h3>
                                    <p>{vb:raw slice.content}</p>
                                    <a href="{vb:raw slice.link}" class="readon">Read more...</a>
                                 </div>
                            </div>
                
                        </div>
                    </div>
					</vb:each>
				</div>
            </div>
        </div>
        <div id="navi-outer">

            <div id="pseudobox"></div>
            <div class="ul_container">
                <ul>		
			        <li class="noimages"><a id="fpss-container_prev" href="javascript:void(0);" onclick="showPrev();clearSlide();" title="Previous">&laquo;</a></li>
					<vb:each from="sl" key="key" value="slice">       
					<li>
						<a class="navbutton off navi" href="javascript:void(0);" title="Click to navigate!">
							<span class="navbar-img"><img src="{vb:raw slice.images}" alt="Click to navigate!" /></span>
							<span class="navbar-key">{vb:math {vb:raw key} + 1}</span>
							<span class="navbar-title">{vb:raw slice.title}</span>
							<span class="navbar-tagline">{vb:raw slice.content_title}</span>
							<span class="navbar-clr"></span>
						</a>
					</li>
					</vb:each>
	                <li class="noimages"><a id="fpss-container_next" href="javascript:void(0);" onclick="showNext();clearSlide();" title="Next">&raquo;</a></li>
					<li class="noimages"><a id="fpss-container_playButton" href="javascript:void(0);" onclick="playButtonClicked();return false;" title="Play/Pause Slide">Pause</a></li>
                            </ul>
            </div>
        </div> 
    	<div class="fpss-clr"></div>
    </div>
	<div class="fpss-clr"></div> 

</div>
<div style="display: none;"><a href="http://www.prevb.com">Slide Show Pro (version 1.0.0) - Copyright © 2006-2008 by Keite</a></div>
<!-- Slide Show by Keite v1.0 ands here -->

Posteriormente en el menú Widgets de CMS, cree uno de HTML Estatico, y a la hora de configurarlo cambie la plantilla por: vbcms_widget_slideshow y en esa plantilla puse el codigo de la plantilla: vbcms_widget_static_page y dentro de mi nueva plantilla puse el código de vbcms_widget_static_page y slide_show_main y mi plantilla vbcms_widget_slideshow quedo así:

Insertar CODE, HTML o PHP:
<div class="cms_widget">
	<div class="block">
		<div class="cms_widget_header">
		<h3><img src="{vb:stylevar imgdir_siteicons}/html.png" alt="" /> {vb:raw widget_title}</h3>
		</div>
		<div class="cms_widget_content restore">
		{vb:raw static_html}
<!-- Slide Show by Keite v1.0 starts here -->
<script language="javascript" type="text/javascript">
<!--
var embedFPSSCSS = '<' + 'style type="text/css" media="all">'
+ '@import "slideshow/templates/{vb:raw $slconfig.styles}/template_css.php?w={vb:raw $slconfig.width}&h={vb:raw $slconfig.hight}&sw={vb:raw $slconfig.tabwidth}";'
+ '</' + 'style>';
document.write(embedFPSSCSS);
-->
</script>
<!--[if lte IE 7]>
<style type="text/css" media="all">
@import "slideshow/templates/{vb:raw $slconfig.styles}/template_css_ie.css";
</style>
<![endif]-->
<script language="javascript" type="text/javascript" src="slideshow/engines/jquery-comp.js"></script>
<script language="javascript" type="text/javascript" src="slideshow/engines/jquery-fpss-comp.js"></script>
<script language="javascript" type="text/javascript">
var speed_delay = 6000;
var slide_speed = 1000;
var CTRrotateAction = 'click';
</script>


<div id="fpss-outer-container" >
    <div id="fpss-container">
        <div id="fpss-slider">
            <div id="slide-loading"></div>
            <div id="slide-wrapper">
                <div id="slide-outer">
                    <vb:each from="sl" value="slice">
					<div class="slide">
                        <div class="slide-inner">
                            <a class="fpss_img" href="{vb:raw slice.link}">
                                <span>
                                    <span style="background:url({vb:raw slice.images}) no-repeat;">
                                        <span>
                                            <img src="{vb:raw slice.images}" alt="Click on the slide!" />
                                        </span>
                                    </span>
                                </span>
                            </a>
                
                            <div class="fpss-introtext">
                                <div class="slidetext">
                                    <h1><a href="{vb:raw slice.link}">{vb:raw slice.title}</a></h1>
                                    <h2>{vb:raw slice.title}</h2>
                                    <h3>{vb:raw slice.content_title}</h3>
                                    <p>{vb:raw slice.content}</p>
                                    <a href="{vb:raw slice.link}" class="readon">Read more...</a>
                                 </div>
                            </div>
                
                        </div>
                    </div>
					</vb:each>
				</div>
            </div>
        </div>
        <div id="navi-outer">

            <div id="pseudobox"></div>
            <div class="ul_container">
                <ul>		
			        <li class="noimages"><a id="fpss-container_prev" href="javascript:void(0);" onclick="showPrev();clearSlide();" title="Previous">&laquo;</a></li>
					<vb:each from="sl" key="key" value="slice">       
					<li>
						<a class="navbutton off navi" href="javascript:void(0);" title="Click to navigate!">
							<span class="navbar-img"><img src="{vb:raw slice.images}" alt="Click to navigate!" /></span>
							<span class="navbar-key">{vb:math {vb:raw key} + 1}</span>
							<span class="navbar-title">{vb:raw slice.title}</span>
							<span class="navbar-tagline">{vb:raw slice.content_title}</span>
							<span class="navbar-clr"></span>
						</a>
					</li>
					</vb:each>
	                <li class="noimages"><a id="fpss-container_next" href="javascript:void(0);" onclick="showNext();clearSlide();" title="Next">&raquo;</a></li>
					<li class="noimages"><a id="fpss-container_playButton" href="javascript:void(0);" onclick="playButtonClicked();return false;" title="Play/Pause Slide">Pause</a></li>
                            </ul>
            </div>
        </div> 
    	<div class="fpss-clr"></div>
    </div>
	<div class="fpss-clr"></div> 

</div>
<div style="display: none;"><a href="http://www.prevb.com">Slide Show Pro (version 1.0.0) - Copyright © 2006-2008 by Keite</a></div>
<!-- Slide Show by Keite v1.0 ands here -->
		</div>
	</div>
</div>

Pense que con eso quedaría pero no fue así, procedi a ver los plugins que estan activos y me encontre con uno llamado: slide_ac que se ejecuta en forumhome_complete y vi que tenía este código:

PHP:
if($vbulletin->options[sl_option]){
$title = explode("|", $vbulletin->options[sl_title]);	
$content_title = explode("|", $vbulletin->options[sl_content_title]);
$content = explode("|", $vbulletin->options[sl_content]);
$link = explode("|", $vbulletin->options[sl_link]);
$images = explode("|", $vbulletin->options[sl_images]);

$sl = array();
foreach ($title as $k=>$v)	{
	$tmp = array();
	$tmp[title] = $v;
	$tmp[content_title] = $content_title[$k];
	$tmp[link] = $link[$k];
	$tmp[images] = $images[$k];
	$sl[] = $tmp;
}

unset($title, $content_title, $content, $link, $images, $tmp);

$slconfig = array();
$slconfig['width'] = $vbulletin->options[sl_width];
$slconfig['hight'] = $vbulletin->options[sl_hight];
$slconfig['tabwidth'] = $vbulletin->options[sl_tab_width];
$slconfig['styles'] = $vbulletin->options[sl_styles];

$templater = vB_Template::create('slide_show_main');
	$templater->register('sl',$sl);
	$templater->register('slconfig',$slconfig);
$slide_show_main = $templater->render();
$ad_location['global_below_navbar'] .= $slide_show_main;}

El cual de inmediato reemplacé con:

PHP:
if($vbulletin->options[sl_option]){
$title = explode("|", $vbulletin->options[sl_title]);	
$content_title = explode("|", $vbulletin->options[sl_content_title]);
$content = explode("|", $vbulletin->options[sl_content]);
$link = explode("|", $vbulletin->options[sl_link]);
$images = explode("|", $vbulletin->options[sl_images]);

$sl = array();
foreach ($title as $k=>$v)	{
	$tmp = array();
	$tmp[title] = $v;
	$tmp[content_title] = $content_title[$k];
	$tmp[link] = $link[$k];
	$tmp[images] = $images[$k];
	$sl[] = $tmp;
}

unset($title, $content_title, $content, $link, $images, $tmp);

$slconfig = array();
$slconfig['width'] = $vbulletin->options[sl_width];
$slconfig['hight'] = $vbulletin->options[sl_hight];
$slconfig['tabwidth'] = $vbulletin->options[sl_tab_width];
$slconfig['styles'] = $vbulletin->options[sl_styles];

$templater = vB_Template::create('vbcms_widget_slideshow');
	$templater->register('sl',$sl);
	$templater->register('slconfig',$slconfig);}

Con todos estos cambios según yo funcionaría pero no es así, creo que también debería cambiar la ubicación de enganche, aunque no se bien cual poner, alguien sabe que me falta, o que ubicación de enganche debería poner?

De ante mano, muchas gracias por leer todo esto :D
 

imported_raulin

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
18 Dic 2009
Mensajes
227
Lo unico que hay que hacer es buscar en el codigo fuente del foro el codigo que inicia en: <!-- Slide Show by Keite v1.0 starts here --> y termina en <!-- Slide Show by Keite v1.0 ands here -->, crear un widget de html estatico, pegar el codigo y guardar, para quitarlo del foro, ve a opciones de vbulletin -> slide show pro -> en la primera opcion colocas: no y guardas, ahora colocas el widget del cms en el lugar que quieras y listo, si quieres editar algo hay que activarlo nuevamente, sacar el codigo y remplazarlo en el widget del cms, asi lo tengo en mi sitio si quieres verlo aqui

Saludos.
 
Arriba