Jump to content

(solucionado) Ayuda con modulo comentarios


jandrovlc

Recommended Posts

Hola a todos,

 

Estoy intentado modificar la paginas de producto para que el modulo de resumen de comentarios, el que sale a la derecha de las fotos con la media de estrellas, se vea siempre. El tpl que se muestra o se esconde en función de si hay algún comentario o no lo hay, es productcomments-extra.tpl 

 

Pero no consigo que salga siempre. ¿me echais una mano?

 

Gracias. 

 

Edited by jandrovlc (see edit history)
Link to comment
Share on other sites

Lo que estás buscando creo que es esto:
 

	{if $nbComments != 0}
	<div class="comments_note">
		<span>{l s='Average grade' mod='productcomments'}&nbsp</span>
		<div class="star_content clearfix">
		{section name="i" start=0 loop=5 step=1}
			{if $averageTotal le $smarty.section.i.index}
				<div class="star"></div>
			{else}
				<div class="star star_on"></div>
			{/if}
		{/section}
		</div>
	</div>
	{/if}

Como ves el primer IF es para detectar si hay comentarios. Entonces, tal vez, no sé seguro, si quitas esa primera línea y su correspondiente cierre, entonces te incluirá este código entero haya o no comentarios realizados. Ahora bien, no sé cuál será el efecto real, si hay o no estrellas apagadas para definir que no hay comentarios o lo que sea que aparezca en los cosas en los que hay feedback.

Link to comment
Share on other sites

Hola, gracias por contestar. 

 

He comentado varios If , porque entiendo que el de las estrellas es uno y el de los enlaces al las pestañas es otro, pero no cambia nada. funciona exactamente igual, si hay opiniones se muestra sino no. 

 

pego el codigo para veas como lo he dejado, 

{if $logged == 1 || $nbComments != 0}
</div><!-- Close the OosHook -->
<div id="product_comments_block_extra"  itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
	<!-- {if $nbComments != 0} -->
	<div class="comments_note">
		<span>{l s='Average grade' mod='productcomments'} </span>
		<div class="star_content clearfix"> <span itemprop="ratingValue" class="average">{$averageTotal}</span>
		{section name="i" start=0 loop=5 step=1}
			{if $averageTotal le $smarty.section.i.index}
				<div class="star"></div>
			{else}
				<div class="star star_on"></div>
			{/if}
		{/section}
		</div>
	</div>
	<!-- {/if} -->

	<div class="comments_advices">
		<!-- {if $nbComments != 0} -->
		<a href="#idTab5">{l s='Read user reviews' mod='productcomments'} (<span itemprop="reviewCount">{$nbComments}</span>)</a><br/>
		<!-- {/if} -->
		{if ($too_early == false AND ($logged OR $allow_guests))}
		<a class="open-comment-form" href="#new_comment_form">{l s='Write your review' mod='productcomments'}</a>
		{/if}
	</div>
</div>
<div><!-- new div for the next content if any -->
{/if}

:S

Link to comment
Share on other sites

Si, ../themes/defauld/modules/productcomments/productcomments-extra.ptl

 

desactivo cache y CCC fuerzo compilación y borro el cache de presta y del navegador.. pero nada ...

 

 

había pensado también poner algo asi: {if $nbComments > -1}  pero no se si es correcto. 

Link to comment
Share on other sites

Entonces el template q tienes es el q viene por defecto?. No hombre, en vez de eso igual mejor simplemente sustituir ! por >. Pues no sé, si el template es el correcto y haces todo eso bien, entonces no sé, prueba con otro navegador, o simplemente no es ese el archivo que modifica aquello que buscas.

Link to comment
Share on other sites

parece ser que no podía ser tan fácil, 

 

Me he dado cuenta que en algunos productos sigue sin aparecer, y es en los productos que tienen vacío el campo descripción breve.

 

¿De que forma puede estar enlazado el campo descripcion breve con los comentarios del producto? ¿ o con el hook {$HOOK_PRODUCT_OOS} ?

Link to comment
Share on other sites

esto es un poco cutre, pero prueba a ver qué pasa:
 

{if $nbComments != 0}
	<div class="comments_note">
		<span>{l s='Average grade' mod='productcomments'}&nbsp</span>
		<div class="star_content clearfix">
		{section name="i" start=0 loop=5 step=1}
			{if $averageTotal le $smarty.section.i.index}
				<div class="star"></div>
			{else}
				<div class="star star_on"></div>
			{/if}
		{/section}
		</div>
	</div>
{else}
	<div class="comments_note">
		<span>{l s='Average grade' mod='productcomments'}&nbsp</span>
		<div class="star_content clearfix">
		{section name="i" start=0 loop=5 step=1}
			{if $averageTotal le $smarty.section.i.index}
				<div class="star"></div>
			{else}
				<div class="star star_on"></div>
			{/if}
		{/section}
		</div>
	</div>
	{/if}

Porque creo que me dijiste que quitando el IF directamente nada verdad? sería lo suyo.

Link to comment
Share on other sites

Si, finalmente he quitado el if, ... los if... porque eran 2 o 3...   bueno realmente los he comentado todos. 

 

Creo que se donde esta el problema, pero no se solucionarlo.

 

Para que el famoso resumen de estrellas salga donde quiero, tengo que meter el hook {$HOOK_PRODUCT_OOS} dentro del div <div id="short_description_block"> porque si lo pongo fuera se me desparrama todo el contenido. El problema de ponerlo dentro de ese div es que si no relleno la descripcion breve se ve que ese div queda inservible y su contenido, incluido el hook que monta el resumen de las estrellitas. 

 

Creo.... :S

Link to comment
Share on other sites

por cierto Omar, tu primera idea era la buena. Lo único, que había que quitar ese if que me decías .. pero también uno que hay antes, este otro, {if $logged == 1 || $nbComments != 0se ve que este es el primero que corta, y aunque quites el otro, sino quitas este antes no funciona. Por eso se quedaba igual y no hacia nada. 

 

 

Gracias ;) 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Hola podriais, ayudarme , no m eaclaro con lo que hay que quitar, os pongo el codigo de mi productcomments-extra.tpl , podriais , decirme como quedaria, Gracias

 

<script type="text/javascript">
$(function(){
    $('a[href=#idTab5]').click(function(){
        $('*[id^=idTab]').addClass('block_hidden_only_for_screen');
        $('div#idTab5').removeClass('block_hidden_only_for_screen');

        $('ul#more_info_tabs a[href^=#idTab]').removeClass('selected');
        $('a[href=#idTab5]').addClass('selected');
    });
});
</script>
 {if (!$content_only && (($nbComments == 0 && $too_early == false && ($logged || $allow_guests)) || ($nbComments != 0)))}
<div id="product_comments_block_extra">
    {if $nbComments != 0}
    <div class="comments_note">
        <span>{l s='Average grade' mod='productcomments'}&nbsp</span>
        <div class="star_content clearfix">
        {section name="i" start=0 loop=5 step=1}
            {if $averageTotal le $smarty.section.i.index}
                <div class="star"></div>
            {else}
                <div class="star star_on"></div>
            {/if}
        {/section}
        </div>
    </div>
    {/if}

    <div class="comments_advices">
        {if $nbComments != 0}
        <a href="#idTab5">{l s='Read user reviews' mod='productcomments'} ({$nbComments})</a><br/>
        {/if}
        {if ($too_early == false AND ($logged OR $allow_guests))}
        <a class="open-comment-form" href="#new_comment_form">{l s='Write your review' mod='productcomments'}</a>
        {/if}
    </div>
</div>
{/if}
<!--  /Module ProductComments -->
 

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...