Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Muerte

[MOD] Previsualizar post desde la home

Recommended Posts

Hola pues dado que no tengo dinero pero si conocimiento tengo planeado sacar todos los módulos que pude ver en el vídeo de la versión de phpost de paga que se publico la otra semana, personalmente algunas funciones de las que pudimos ver no les veo mucha utilidad, pero bueno esa es mi opinión y yo se que a muchos les gustaría poder comprar esa versión para sacarle las cosas, pero quien tiene para pagar no sabe mucho en la mayoría de los casos jaja. Y los pobres tenemos que aprender para poder ganar algo de dinero jaja, en fin les dejo los pasos en un archivo y en este tema.

 

Cualidades:

- Limitación de contenido a mostrar para evitar la carga lenta.

- Botón para seguir leyendo en caso de que el post sea muy largo

- Evitar la vista previa del contenido del post si es privado y no eres usuario registrado.

 

 

PD: Se que había publicado unas fotos de módulos en desarrollo pero como me los compraron ya no los publicare, lo siento. Solo estaré publicando los que me llamaron la atención de la versión que se vende y otros que tengo guardado y desarrollando en mi localhost.

 

 

1) Se van al archivo estilo.css y agregan al final esto:

.mosp{display:block;text-align:center;margin-top:15px;background:#2594EC;color:#fff;padding:10px;line-height:1;border-radius:3px}.mosp:hover{background:#46acff;color:#fff;text-decoration:none}#ojin{background:url(../i/i.png) -238px -102px;display:block;width:16px;height:16px;float:right;margin:0}#ojin:hover{cursor:pointer;opacity:.5}.pripre{text-align:center;overflow:hidden;margin-top:50px}.pripre img{clear:both}.pripre h3{margin:30px 0 0;font-size:40px;color:#07a488;display:block;line-height:1}

2) En el archivo m.home_last_posts.tpl (existente solo en version V5 en dafault u otro tocara buscar) buscan lo siguiente 2 veces:

{if $p.post_private}

y arriba colocan esto: 

                {if $tsUser->is_member}
                    <span id="ojin" onclick="precargar('{$p.post_id}','{$p.post_title}');return false;"></span>    
                {else}
                    <span id="ojin" onclick="precargar('{$p.post_id}','{$p.post_title}');return false;"></span>
                {/if}    


                
3) Se van al archivo c.posts.php y hasta la parte de abajo antes del "{" (cochete de cerrie) colocan esto:

    

//FUNCION PARA PREVISUALIZAR POST DESDE LA HOME
    function getPreviewHome(){
        global $tsCore, $tsUser;
        $id = $tsCore->setSecure(intval($_GET['id']));
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_title, p.post_body, p.post_private, c.c_seo FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE p.post_id = \''.(int)$id.'\' LIMIT 1');
        $data = db_exec('fetch_assoc', $query);
        //
        $maximo = 500;//MAXIMO DE CARACTERES PARA MOSTRAR Y NO GASTAR RECURSOS
        $contenido = $data['post_body'];// DECLARAR VARIABLE CONTENIDO A MOSTRAR
        if ($tsUser->is_member){
            if (strlen($contenido) > $maximo) {
                $cuerpo = substr($contenido, 0, $maximo);            
                $url = $tsCore->settings['url'].'/posts/'.$data['c_seo'].'/'.$data['post_id'].'/'.$tsCore->setSEO($data['post_title']).'.html';        
                $cuerpo = $cuerpo.'<a class="mosp" href="'.$url.'">Continuar leyendo</a>';
            }else{
                $cuerpo = $contenido;        
            }            
        }else{
            if($data['post_private'] == 1){
                $url = $tsCore->settings['images'];
                $cuerpo = '<div class="pripre"><img src="'.$url.'/candado.png" alt="Post privado"/><h3>Este post es privado</span></h3>';                
            }else{
                if (strlen($contenido) > $maximo) {
                    $cuerpo = substr($contenido, 0, $maximo);            
                    $url = $tsCore->settings['url'].'/posts/'.$data['c_seo'].'/'.$data['post_id'].'/'.$tsCore->setSEO($data['post_title']).'.html';        
                    $cuerpo = $cuerpo.'<a class="mosp" href="'.$url.'">Continuar leyendo</a>';
                }else{
                    $cuerpo = $contenido;        
                }        
            }
        }    
        return array('cuerpo' => $tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true));
    }             

   

4) En el archivo ajax.posts.php buscan:

'posts-genbus' => array('n' => 2, 'p' => 'genbus'),

y abajo de eso colocan esto:

'posts-preview-home' => array('n' => 0, 'p' => 'preview'),

4) En el mismo archivo buscan:

default:

y arriba de eso colocan esto:

        case 'posts-preview-home':
                $smarty->assign("tsPreview",$tsPosts->getPreviewHome());
        break;    

5) En el archivo funciones.js hasta el fina agregan esto:
  

 //PREVISUALIZAR POST DESDE LA HOME
    function precargar(id, titulo){
            mydialog.class_aux = 'ver';
            mydialog.show(true);            
            mydialog.title('Previsualización');            
            mydialog.body('<div class="carf"><p>Cargando vista previa</p><img src="' + global_data.img + '/images/loading_bar.gif"/></div>');
            mydialog.buttons(false);
            mydialog.center();
            $.ajax({
                type: 'GET',
                url: global_data.url + '/posts-preview-home.php',
                data: 'id=' + id,
                success: function(r) {
                    mydialog.title(titulo);
                    mydialog.body(r);
                    mydialog.buttons(false);                    
                    mydialog.center();
                    $.scrollTo(0, 500);
                    $('#mydialog').removeClass('preview');
                }                
            });    
    }

 

Listo, ya solo suben esta imagen a la carpeta "imagenes". Le dejo unas fotos de como funciona vale.

 

1) Vista previa del post cuando tiene mucho contenido

 

w1QKXju.png

 

2) Vista previa del post cuando no eres usuario registrado y esta en privado


pHLcDfZ.png

 

 

3) Vista previa del post cuando no tiene mucho contenido y no esta en privado y no eres usuario registrado


iMGQ3cl.png

 

 

3Sazrk1.png

 

 

Instrutivo-PrevioPost.php

candado.png

Editado por Muerte
  • Me gusta 11
  • Gracias 3

Compartir este post


Enlace al post
Compartir en otros sitios

Buen trabajo. Solo dos cositas, el paso dos veo innecesario el if ya que el botón lo puede usar registrados y no registrados. Y te recomiendo leer un poco la documentación de JBBCode ya que tiene una función para sacar el texto sin afectar los tags usados ya que existe la posibilidad que al cortar a 500 caracteres pueda que te quede un bbcode a medias dejando el texto del post un poco extraño jeje

Compartir este post


Enlace al post
Compartir en otros sitios
1 hour ago, Kmario19 dijo:

Buen trabajo. Solo dos cositas, el paso dos veo innecesario el if ya que el botón lo puede usar registrados y no registrados. Y te recomiendo leer un poco la documentación de JBBCode ya que tiene una función para sacar el texto sin afectar los tags usados ya que existe la posibilidad que al cortar a 500 caracteres pueda que te quede un bbcode a medias dejando el texto del post un poco extraño jeje

 

Olvide cambiar la url para que cargue el registro jeje

 

               {if $tsUser->is_member}
                    <span id="ojin" onclick="precargar('{$p.post_id}','{$p.post_title}');return false;"></span>    
                {else}
                    <a href="{$tsConfig.url}/registro/"><span id="ojin" onclick="precargar('{$p.post_id}','{$p.post_title}');return false;"></span></a>
                {/if}   

y pues lo de la función pensé que al aplicar parseBBCode ya estaba usándola pero tienes razón queda cortado aunque solo es algo estético pero suma, gracias.

Editado por Muerte
  • Me gusta 1

Compartir este post


Enlace al post
Compartir en otros sitios

Sino decías que esto venia en la versión pago, ni enterado :v

Va quedando bien, creo que hicieron algo así antes, no me acuerdo,  pero bien por lanzar el mod, ya que mucho no lo hacen!

Editado por Rengo

Compartir este post


Enlace al post
Compartir en otros sitios

Excelente aporte :D 

 

hace 14 minutos, Rengo dijo:

Sino decías que esto venia en la versión pago, ni enterado :v

Va quedando bien, creo que hicieron algo así antes, no me acuerdo,  pero bien por lanzar el mod, ya que mucho no lo hacen!

 

Si tambien creo recordar algo similar.

 

 

 

 

Compartir este post


Enlace al post
Compartir en otros sitios
hace 6 minutos, Basdower dijo:

Excelente aporte :D 

 

 

Si tambien creo recordar algo similar.

 

 

 

 

 

hace 23 minutos, Rengo dijo:

Sino decías que esto venia en la versión pago, ni enterado :v

Va quedando bien, creo que hicieron algo así antes, no me acuerdo,  pero bien por lanzar el mod, ya que mucho no lo hacen!

 

No tengo idea, pero este lo desarrolle yo :ZIqdO:

  • Me gusta 1

Compartir este post


Enlace al post
Compartir en otros sitios
1 hour ago, Rengo dijo:

Va quedando bien, creo que hicieron algo así antes, no me acuerdo,  pero bien por lanzar el mod, ya que mucho no lo hacen!

Ese fue Tutan Kabron para la alpha xD

 

hace 1 hora, Muerte dijo:

Olvide cambiar la url para que cargue el registro jeje

Ahora la mitad del código de la función php queda inútil ya que solo podrán dar click usuarios registrados, la otra parte del if nunca se ejecutaría. Opino que visitantes puedan ver vista previa a excepción de posts privados, es decir deja el botón para todos que así esta bien a mi parecer xD

Compartir este post


Enlace al post
Compartir en otros sitios
hace 7 horas, Kmario19 dijo:

Ese fue Tutan Kabron para la alpha xD

 

Ahora la mitad del código de la función php queda inútil ya que solo podrán dar click usuarios registrados, la otra parte del if nunca se ejecutaría. Opino que visitantes puedan ver vista previa a excepción de posts privados, es decir deja el botón para todos que así esta bien a mi parecer xD

 

pues si, pero el resto de la funcion nacio solo porque no faltaria el que aprovechando la inexistencia de ese limite llamara la funcion sin necesidad de registrarse y pudiera ver el contenido del post de esa forma

  • Confundido 1

Compartir este post


Enlace al post
Compartir en otros sitios
hace 4 horas, Muerte dijo:

 

pues si, pero el resto de la funcion nacio solo porque no faltaria el que aprovechando la inexistencia de ese limite llamara la funcion sin necesidad de registrarse y pudiera ver el contenido del post de esa forma

Que gracia tendría mostrarle el post de todas formas? xD

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario


  • Similar Content

    • Por Cacho
      Hola, le hago una pregunta al que ande con tiempo de contestar, busqué por todo el foro para ver si encontraba como solucionar que tengo que actualizar para poder volver a comentar en un post, alguien sabe como solucionarlo??
       
    • Por LautaroSanchez
      En votantes aparece esto

       
       
      YA HICE ESTO: 
       
      actualizar el archivo b.votantes.tpl -->V5/templates/b_toup/posts/b.votantes.tpl , vas a ese archivo y reemplazas todo el código por este
      {php} $colsultaxd = db_exec(array(__FILE__, __LINE__), 'query', "select * from p_votos left join u_miembros as p on p.user_id = tuser where tid = {$_GET['post_id']} and type = 1"); $result = $colsultaxd; $numero = db_exec('num_rows', $result); $colsultax2 = db_exec(array(__FILE__, __LINE__), 'query', "select * from p_posts where post_id = '".$_GET['post_id']."' limit 1"); while($row = db_exec('fetch_array', $colsultax2)){ {/php} Votos: <b>{php}echo $numero;{/php}</b> - {php} } {/php}  
      PERO SIGUE IGUAL! TENGO LA V5 TO-UP Y USO XAMPP
    • Por fellomix
      Hola tengo instalado el Mod imagen de portada en los posts
      y quiero que reflejen la imagen de portada en el modulo posts destacados de la home.
       
      la pagina es http://cinevela.xyz
       
      El codigo del modulo modules/m.home_posts_destacados.tpl que tengo ahora es:
       
      <div class="boxposts separa" id="despost"> <div class="titular"> <h2>Destacados</h2> <div class="mentop"> <div class="actualtop" id="dcambi">6h</div> <div class="listop" id="dctops"> <a onclick="pestana('dctops','dayer','dtayer','dcambi','despost'), filtrar_post_destacados('6');" class="dtayer">15m</a> <a onclick="pestana('dctops','dhoy','dthoy','dcambi','despost'), filtrar_post_destacados('8');" class="dthoy">1h</a> <a onclick="pestana('dctops','dsemana','dtsemana','dcambi','despost'), filtrar_post_destacados('9');" class="dtsemana">3h</a> <a onclick="pestana('dctops','dmes','dtmes','dcambi','despost'), filtrar_post_destacados('10');" class="dtmes listo">6h</a> </div> </div> </div> <section class="tops" id="posdestacados"> {if $tsPostsDestacados} {foreach from=$tsPostsDestacados item=p} <div class="clerela" style="height: 100px;"> <a class="cates" title="{$p.post_title}" href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html"> {if $p.post_portada} <img class="loadimg" data-original="{$p.post_portada}" style="width: 78px; height: 100px;"> {else} <img class="loadimg" data-original="{$tsConfig.url}/files/avatar/{$tsAutor.user_id}_120.jpg" style="width: 78px; height: 100px;"/> {/if} </a> <div class="ditip"> <span>{$p.c_nombre}</span> <a title="{$p.post_title}" href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|limit:55}</a> </div> </div> {/foreach} {else} <div class="nada-gris" style="margin-bottom: 10px;">Sin destacados en este periodo</div> {/if} </section> <div class="paginar"><a href="/top/">Ver m&aacute;s</a></div> </div>  
    • Por LautaroSanchez
      Alguien sabe como sacar o solucionar este problema?
       

       
      Esta es mi web: http://infinitypost.skn1.com/
    • Por zeta
      Acabo de instalar el  Editor WYSIWYG, funciona al 100 en todos lados, luego instale el mod mobil de kmanrio 2.5, y ya no puedo publicar post, me sale error.
       
      alguna forma de resolver este error
      tengo instalado la v5 de tronlar corregido y actualizado.
  • Navegando Recientemente   0 miembros

    No registered users viewing this page.

  • Patrocinador



  • ×