Vote to Improve PrestaShop

PrestaShop Forum: Build a free online shop. Count on the Community!

The best place in the world to ask questions about PrestaShop and get advice from our passionate community!

PrestaShop Forum: Build a free online shop. Count on the Community!

Jump to content

Photo

Configurar Fancybox con pagina CMS


  • This topic is locked This topic is locked
6 replies to this topic
Pablus

    PrestaShop Apprentice

  • Members
  • PipPip
  • 216 posts

Posted 03 August 2012 - 08:42 PM

Hola Colegas, tengo un link con fancybox que me abre una pagina cms, el problema es que abre la pagina web completa, con todos los menues, etc, en vez de mostrarme unicamente el contenido de la pagina cms.

El codigo que utilizo es de un archivo dentro de override\controllers:
<?php
class CmsController extends CmsControllerCore {
    public function setMedia() {
	    parent::setMedia();

	    Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'screen');
	    Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js',
						   _PS_JS_DIR_.'jquery/jquery.serialScroll-1.2.2-min.js',
						   _THEME_JS_DIR_.'product.js'));

	    if (Configuration::get('PS_DISPLAY_JQZOOM') == 1) {
		    Tools::addCSS(_PS_CSS_DIR_.'jqzoom.css', 'screen');
		    Tools::addJS(_PS_JS_DIR_.'jquery/jquery.jqzoom.js');
	    }
    }
}

el link seria:
<p><a class="thickbox" href="../cms.php?id_cms=4&amp"> link de prueba </a></p>

he leido varios post y agregan variantes como esta:
<p><a class="thickbox" href="../cms.php?id_cms=4&amp;content_only=1&amp;TB_iframe=true&amp;width=800&amp;height=500"> link de prueba </a></p>

pero en mi caso el recuadro no se achica y sigue mostrando la pagina web completa en vez del cms. Alguna sujerencia?

nadie

    PrestaShop Legend

  • US Moderators
  • 38261 posts

Posted 04 August 2012 - 12:16 AM

Hola Colegas, tengo un link con fancybox que me abre una pagina cms, el problema es que abre la pagina web completa, con todos los menues, etc, en vez de mostrarme unicamente el contenido de la pagina cms.

El codigo que utilizo es de un archivo dentro de override\controllers:

<?php
class CmsController extends CmsControllerCore {
	public function setMedia() {
		parent::setMedia();

		Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'screen');
		Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js',
						   _PS_JS_DIR_.'jquery/jquery.serialScroll-1.2.2-min.js',
						   _THEME_JS_DIR_.'product.js'));

		if (Configuration::get('PS_DISPLAY_JQZOOM') == 1) {
			Tools::addCSS(_PS_CSS_DIR_.'jqzoom.css', 'screen');
			Tools::addJS(_PS_JS_DIR_.'jquery/jquery.jqzoom.js');
		}
	}
}

el link seria:
<p><a class="thickbox" href="../cms.php?id_cms=4&amp"> link de prueba </a></p>

he leido varios post y agregan variantes como esta:
<p><a class="thickbox" href="../cms.php?id_cms=4&amp;content_only=1&amp;TB_iframe=true&amp;width=800&amp;height=500"> link de prueba </a></p>

pero en mi caso el recuadro no se achica y sigue mostrando la pagina web completa en vez del cms. Alguna sujerencia?


Te falta la llamada en cuestión.

Recursos para Prestashop

Ya no estoy disponible en el foro, tampoco por email, ni por teléfono. wikiprestashop.com

Gracias a todos, por esta aventura en el foro ! (No trabajo para Prestashop, ni tengo relación con Prestashop)


Pablus

    PrestaShop Apprentice

  • Members
  • PipPip
  • 216 posts

Posted 04 August 2012 - 12:44 AM

Hola Victor, el enlace lo tengo dentro de una pagina cms, estoy haciendo las pruebas desde ahi, y si funciona el lugar definitivo es en un un modulo de menu horizontal.

Pablus

    PrestaShop Apprentice

  • Members
  • PipPip
  • 216 posts

Posted 04 August 2012 - 05:06 PM

Alguna sujerencia? lo que busco hacer es hacer links con este efecto de fancybox para mostrar informacion puntual no imagenes, he visto varias paginas que lo tienen..gracias

nadie

    PrestaShop Legend

  • US Moderators
  • 38261 posts

Posted 09 August 2012 - 10:03 PM

Hola, creo que ya te has pasado por esos temas, pero te dejo enlace igual )

http://www.prestasho...x-on-all-pages/

http://www.prestasho...as-las-paginas/

Recursos para Prestashop

Ya no estoy disponible en el foro, tampoco por email, ni por teléfono. wikiprestashop.com

Gracias a todos, por esta aventura en el foro ! (No trabajo para Prestashop, ni tengo relación con Prestashop)


Pablus

    PrestaShop Apprentice

  • Members
  • PipPip
  • 216 posts

Posted 09 August 2012 - 10:27 PM

Hola Victor, te cuento que llevo 10 dias dedicandole a que funcione fancybox para abrir una pagina cms desde un link,

he probado todos los ejemplos del foro: ninguno abre una pagina cms, y algunos son para la hoja de producto nomas
Modulos con fancybox tratando de adaptarlos: Encontre 2 gratuitos pero que cargan al abrir la web, no con un link, y por mas pruebas que hice me faltan conocimientos para modificarlo
Agregar fancybox desde cero: (fancybox.net) funciona perfecto agregando los scripts desde header.tpl, el efecto es mejor que el que posee prestashop, agregandote una imagen de precarga antes de abrir... el problema es que genera conflicto con otros scripts en determinadas paginas y anula javascript

Es una pena que no hay una guia clara y concreta, ya que esta herramienta es muy util para mostrar informacion.

Agrego para quien le sirva que lo mejor que logre fue juntar informacion de varios post y horas de prueba:


link para abrirlo:
<a class="iframe" href="www.paginaquequieras.com">(prueba)</a>

Script al final del tpl:
<script type="text/javascript">
$(document).ready(function(){
$("a.iframe").fancybox({
'autoScale'  : false,
'transitionIn'  : 'none',
'transitionOut'  : 'none',
'width'  : 400,
'height'  : 400,
'type'  : 'iframe'
});
});
Modificar classes/frontController.php para que se pueda llamar desde cualquier pagina
public function setMedia()
    {
	    global $cookie;
	   
	    Tools::addCSS(_THEME_CSS_DIR_.'global.css', 'all');
	    Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css');
	    Tools::addJS(array(_PS_JS_DIR_.'tools.js', _PS_JS_DIR_.'jquery/jquery-1.4.4.min.js',
						 _PS_JS_DIR_.'jquery/jquery.easing.1.3.js',
					    _PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js'
						 ));
	   
	    if ($cookie->live_edit)
	    {
		    Tools::addJS(array(
						    _PS_JS_DIR_.'jquery/jquery-ui-1.8.10.custom.min.js',
						    _PS_JS_DIR_.'hookLiveEdit.js')
						    );
	    }
    }
Repito, el unico problema es que no funciona para mostrar informacion de un cms, por lo que para esquivar el problema y no dedicar mucho mas tiempo, cree una pagina html con el contenido que tenia la cms y la cargo con el fancybox.

Si alguien quiere agregar informacion para dejar una guia clara, sera bienvenido

lain

    PrestaShop Apprentice

  • Members
  • PipPip
  • 71 posts

Posted 26 August 2012 - 05:00 PM

Hola,
yo lo he hecho de la siguiente forma:

<a href="{$link->getCMSLink('7')}&content_only=1" class="iframe">Link a página CMS</a>

es decir, añadiendo al final del link "&content_only=1"

en teoría la llamada al link cms funcionaría tanto por el ID como por la url-amigable:
{$link->getCMSLink('12', 'link-de-prueba')}

y tal como has dicho, la llamada al JS y CSS de fancybox debe estar presente en la página.

Funciona en 1.4.5.1




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users