• 0
  • 7 RepliesReplies
  • 9704 ReadTimes Read
  • 0 PointsPoints

Topic: Ocultar contenido a visitantes sin mod

no avatar
Usuario: nodensdorian
Rango: Nuevo Usuario
Mensajes: 207
Points: 27
Mi web: http://www.ardiforos.com.ar/
Perfil: View Profile
Ocultar contenido a visitantes sin mod
May 11, 2013 - 04:28 16:28
Ocultar contenido a visitantes sin mod

Datos importantes:
Url del foro: www.ardiforos.com.ar
Version de SMF: 2.0.4
Theme del foro: BlueSky de Yihad

Descripcion del problema:
Hola a todos! Bueno, quiero hacer una modificación en mi foro, con etiketas \"ocultar/hide\" que le permita a los usuarios ocultar/esconder contenido del post a los visitantes. Y me gustaría hacer esa modificación manualmente, sin instalar mod alguno. También, que a los visitantes se les muestre un cartelito que diga: \"Necesitas estar logueado para ver este contenido. Por favor, Ingresa o Regístrate\". Con los respectivos links de login y register o una imagen que diga lo mismo.

He visto, los siguientes mods que hacen algo parecido.

Hide tag special: buen mod, pero no me sirve, ya que trae muchas otras opciones que jamás usaré como unirlo al thanksomatic y responder para ver links. Lo único que kiero es poder ocultar contenido a los visitantes, mediante. Muy buen mod, pero no me sirve.

Hidden for guests ( http://custom.simplemachines.org/mods/index.php?mod=756 ): esta es la modificación que busco. Pero lamentablemente sólo está para el smf 1.1.4 y mi foro es 2.0.4

Había pensado en crear un botón nuevo y agregarle:

content--> if ($user_info[\'is_guest\'])
      {
                             echo\' \"Necesitas estar logueado para ver este contenido. Por favor, Ingresa o Regístrate\" \';
      }

Pero, tengo 2 problemas: uno es que no sé bien cómo crear un botón que se vea en el editor de mensajes y otro que me parece que lo de content que dije arriba, está mal.

Cualkier ayuda que puedan brindarme es bien recibida :)

Desde ya, muchas gracias!
Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Ocultar contenido a visitantes sin mod
Reply #1 May 11, 2013 - 05:07 17:07
Para lo segundo podes usar este mod: http://custom.simplemachines.org/mods/index.php?mod=342

Y para lo primero podes usar el mod que dijiste, lo que no usas lo deshabilitas y listo... nadie va a rearmar un mod nuevamente solo para quitar funciones... no es muy lógico..
no avatar
Usuario: nodensdorian
Rango: Nuevo Usuario
Mensajes: 207
Points: 27
Mi web: http://www.ardiforos.com.ar/
Perfil: View Profile
Re:Ocultar contenido a visitantes sin mod
Reply #2 May 11, 2013 - 06:02 18:02
Hola y gracias por la pronta respuesta 4kstore. El mod de registered links es muy bueno, pero no me sirve, porke oculta todos los links de la web. Lo que busco, más que nada, es que los uploader de mi foro, puedan ocultar a gusto, los links de descarga con un hide] /hide] si así lo kieren, con un cartelito simple como el de hidden for guest de ingresa o regístrate.
Lo del hide tag special es buena idea, pero la verdad que tengo instalados como 30 mods en mi foro (un bestialidad), encima que no ocupo el thankomatic y agregarle más código para usar sólo una opción, me parece mucho.

Estuve revisando mods y se me ocurrió fusionar 2 que encontré:

El Member Only BBC (que sólo llega hasta RC3, pero parse a RC4) y el Hide the content of
Code: [Select]
tags from guests[/url] (smf 2.0.1).

Del member only, sacaría la parte de add after.
[code]./Sources/Subs.php
Find: [Select]
array(
'tag' => 'nobbc',
'type' => 'unparsed_content',
'content' => '$1',
),

Add After: [Select]
            array(
                'tag' => 'only_members',
                'type' => 'unparsed_content',
                'content' => $context['user']['is_logged'] ? '$1' :'',
            ),

Y le agregaría al $context['user']['is_logged'] ? '$1' :'',  parte del código del Hide the content of
Code: [Select]
después del replace:

[code]/Sources/Subs.php
Find: [Select]

'content' => '<div class="codeheader">' . $txt['code'] . ': <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">' . $txt['code_select'] . '</a></div>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '<pre style="margin: 0; padding: 0;">' : '') . '<code class="bbc_code">$1</code>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '</pre>' : ''),

Replace With: [Select]

'content' => $user_info['is_guest'] ? '<div class="codeheader">' . $txt['code'] . ': </div><code class="bbc_code">' . $txt['warning'] . ' ' . $txt['login_or_register'] . '</code>' :  '<div class="codeheader">' . $txt['code'] . ': <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">' . $txt['code_select'] . '</a></div>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '<pre style="margin: 0; padding: 0;">' : '') . '<code class="bbc_code">$1</code>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '</pre>' : ''),

El asunto ahora, es que hasta ahí llegué, qué parte del código de esta parte:
Code: [Select]
'content' => $user_info['is_guest'] ? '<div class="codeheader">' . $txt['code'] . ': </div><code class="bbc_code">' . $txt['warning'] . ' ' . $txt['login_or_register'] . '</code>' :  '<div class="codeheader">' . $txt['code'] . ': <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">' . $txt['code_select'] . '</a></div>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '<pre style="margin: 0; padding: 0;">' : '') . '<code class="bbc_code">$1</code>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '</pre>' : ''),[/code]

Debo meter y cómo en esta?:
Code: [Select]
'content' => $context['user']['is_logged'] ? '$1' :'',
Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Ocultar contenido a visitantes sin mod
Reply #3 May 11, 2013 - 07:47 19:47
No te entendi mucho pero te ofrezco una alternativa, es un minimod que hice hace mucho y sirve para ocultar codigo con la etiqueta hidev y desde la administracion te permite setear que grupos pueden ver y quienes no pueden ver el contenido...
Posiblemente sea mas facil modificar lo que necesites a partir de esto.

Saludos
no avatar
Usuario: nodensdorian
Rango: Nuevo Usuario
Mensajes: 207
Points: 27
Mi web: http://www.ardiforos.com.ar/
Perfil: View Profile
Re:Ocultar contenido a visitantes sin mod
Reply #4 May 11, 2013 - 10:44 22:44
Excelente 4kstore, lo estuve revisando y se me ocurrio hacer lo siguiente:

Show content
/Sources/Subs.php
Code: [Select]
      array(
'tag' => 'hidev',
'before' => '<hidev>',
'after' => '</hidev>',
),







            array(
                'tag' => 'hidev',
                'type' => 'unparsed_content',
'content' => $user_info['is_guest'] ? '<div class="codeheader">' . $txt['code'] . ': </div><code class="bbc_code">' . $txt['warning'] . ' ' . $txt['login_or_register'] . '</code>' :  '<div class="codeheader">' . $txt['code'] . ': <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">' . $txt['code_select'] . '</a></div>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '<pre style="margin: 0; padding: 0;">' : '') . '<code class="bbc_code">$1</code>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '</pre>' : ''),

Themes/default/languages/Modifications.english.php

Code: [Select]
$txt['warning'] = 'Only registered users can see contents.';
$txt['login_or_register'] = 'Please click here to <a target="_blank" href="' . $scripturl . '?action=register"">Register</a> or <a target="_blank" href="' . $scripturl . '?action=login">Login</a>.';

Ahora lo que no sé, es si esto está bien, porke el contento del último array tiene partes de otro código, y yo sólo necesito que muestre un mensaje de texto para ingresar o registrarse ($txt['login_or_register']).

-------------------Edito----------------------

Nah, estoy haciendo lio, pensé que hacer este tipo de botón sería simple, pero viendo todo lo que tiene el mod que me pasaste, que está super genial. Prefiero, como bien dijiste, editar el hidev. Lo instalé en localhost y todo ok, mañana lo instalo en el foro a ver cómo va. Ahora bien, cómo podría modificar el hidev que me pasaste, para que por defecto el contenido sea visible sólo para todos los grupos logueados/registrados? Es decir, sin necesidad de poner la ip. Si se puede, si no, no importa, igual está Genial este mod. Muchas Gracias 4kstore!!!  ;D
Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Ocultar contenido a visitantes sin mod
Reply #5 May 12, 2013 - 04:43 16:43
Podes probar esto:

Buscar en el archivo Hidev-hooks.php

Code: [Select]
if(in_array($user_info['groups'][0], $vips_groups))
Reemplazar por:
Code: [Select]
if(!$user_info['is_guest'])
Ahi solo mostraria el contenido a los usuarios logeados
no avatar
Usuario: nodensdorian
Rango: Nuevo Usuario
Mensajes: 207
Points: 27
Mi web: http://www.ardiforos.com.ar/
Perfil: View Profile
Re:Ocultar contenido a visitantes sin mod
Reply #6 May 13, 2013 - 12:14 12:14
Excelente Maestro!!! Funciona de maravilla, no ocupa mucha modificaciòn y hace justo lo que buscaba. Es un excelente mod, no sè còmo no lo sacaste a la luz  ;D Muchísimas gracias por la ayuda y la paciencia!

Saludos!
Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Ocultar contenido a visitantes sin mod
Reply #7 May 13, 2013 - 02:16 14:16
Un gusto poder ayudar.
Saludos
 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines