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

Actualización: AdminLTE 2.4.0

Recommended Posts

Theme original: hecho por @DarkMagican

 

Se actualizó:

- Theme AdminLTE por DarkMagican
-- Jquery v1.7.1 a v3.3.1
-- Bootstra v3.3.4 a v3.3.7 (css | js)
-- AdminLTE 2.0 a 2.4 (con los complementos del mismo)
-- Todos los js fuerón actualizados

-- En este caso se ha dejado el autogrow

 

¿Porque con bootstrap 3.3.7 y no con bootrap 4.1?

La verdad es que boostrap 4.1 ha sufrido muchos cambios(para bien) y al implementarlo deformaba todo el diseño y las funciones que tiene bs3 ya han sido eliminadas y es por esa razón que no use bs4 para poder actualizarlo.

 

¿Pero se puede hacer la actualización a bootstrap 4.1?

Si pero esto llevará mucho tiempo y esfuerzo

 

Se ha modificado la estructura.
-- Buscar en inc/class/c.core.php y debajo de

        $this->settings['css'] = $this->settings['tema']['t_url'].'/css';
        $this->settings['js'] = $this->settings['tema']['t_url'].'/js';

Agregan lo siguiente

        $this->settings['AdminLTE'] = $this->settings['tema']['t_url'].'/AdminLTE';

 

- Se cambio de lugar las redes sociales del posts.

 

- Se integró el editor wysibb

 

- Se eliminaron archivos totalmente innecesarios y/o que no se usan!

 

En el caso que no se haya actualizado el iupload.php lo dejaré dentro del archivo y lo debe agregar en inc/php/

 

Descargar Theme AdminLTE2.4

Se instala con el mismo nombre.

En el caso de encontrar errores por favor avisarme!

 

Contiene un archivo leeme.txt que dice parte de este topic!

Aviso es solo actualización, no he modificado el theme!

 

ATENCIÓN: [No posee el archivo c.admin.php y c.registro.php] (actualizar registro topic actualizado)

Se me olvido de poner el recaptcha v2 para el registro descargan este archivo AdminLTE2.4[registro] el cual solo tiene

- registro.js [/js]

- m.register-admin.tpl [/templates/modules/complementos]

- m.admin_configs.tpl [/templates/admin_mods]

 

30/05/2018

He cometido un error he modificado el archivo m.register-admin.tpl y tenia que modificar el p.registro.form.tpl se puede comparar ambos archivos para realizar el cambio a p.registro.form.tpl con la ayuda de m.registrer-admin.tpl ya que ambos son muy similares..

 

Acá le dejó en el caso que no quieran comparar, buscamos en p.registro.form.tpl

    <div class="input-group">
        <label for="recaptcha_response_field">Ingresa el código de la imagen:</label>
        <div id="recaptcha_ajax">
            <div id="recaptcha_image"></div>
            <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" />
        </div>
        <div class="help recaptcha"><span><em></em></span></div>
    </div>

y la reemplazamos por

            <div class="input-group">
                <label>Confirme humanidad:</label>
                <div class="g-recaptcha" data-sitekey="{$tsConfig.pkey}"></div>
                <div class="help"><span><em></em></span></div>
            </div>

luego más abajo buscan

Spoiler
<script type="text/javascript">
//
$.getScript("{$tsConfig.js}/registro.js{literal}", function(){
    //Seteo el pais seleccionado
    //registro.datos['pais']='MX';
    //registro.datos_status['pais']='ok';
    //registro.datos_text['pais']='OK';
    //
    registro.change_paso(1);
    
    //Genero el autocomplete de la ciudad
    /*$('#RegistroForm .pasoDos #ciudad').autocomplete('/registro-geo.php', {
        minChars: 2,
        width: 298
    }).result(function(event, data, formatted){
        registro.datos['ciudad_id'] = (data) ? data[1] : '';
        registro.datos['ciudad_text'] = (data) ? data[0].toLowerCase() : '';
        if(data)
            $('#RegistroForm .pasoDos #terminos').focus();
    });*/
    mydialog.procesando_fin();
});

//Load recaptcha
$.getScript("http://www.google.com/recaptcha/api/js/recaptcha_ajax.js", function(){
    Recaptcha.create('6LcXvL0SAAAAAPJkBrro96lnXGZ56TBRExEmVM3L', 'recaptcha_ajax', {
        theme:'white', lang:'es', tabindex:'13', custom_theme_widget: 'recaptcha_ajax',
        callback: function(){
            $('#recaptcha_response_field').blur(function(){
                registro.blur(this);
            }).focus(function(){
                registro.focus(this);
            }).attr('title', 'Ingrese el código de la imagen');
        }
    });
});
</script>

 

y lo reemplazan por

<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script type="text/javascript">
$.getScript("{$tsConfig.js}/registro.js{literal}", function(){
    registro.change_paso(1);
    mydialog.procesando_fin();
});
</script>

 

28/06/2018 (Hecho el día 03/06)

Modificación para mostrar los iconos en los comentarios!

Aq94dJx.png&key=f81c8d9e7e2543ae0d8ce992

Bueno para que aparezcan busca en AdminLTE->cool.css en la línea 1901

    background: url('images/sprite-comment.png') no-repeat;

reemplazarlo con

    background: url('../images/sprite-comment.png') no-repeat;
Edited by Miguel92
Comentario

Share this post


Link to post
Share on other sites
hace 11 horas, Miguel92 dijo:

Theme original: hecho por @DarkMagican

 

Se actualizó:

- Theme AdminLTE por DarkMagican
-- Jquery v1.7.1 a v3.3.1
-- Bootstra v3.3.4 a v3.3.7 (css | js)
-- AdminLTE 2.0 a 2.4 (con los complementos del mismo)
-- Todos los js fuerón actualizados

-- En este caso se ha dejado el autogrow

 

¿Porque con bootstrap 3.3.7 y no con bootrap 4.1?

La verdad es que boostrap 4.1 ha sufrido muchos cambios(para bien) y al implementarlo deformaba todo el diseño y las funciones que tiene bs3 ya han sido eliminadas y es por esa razón que no use bs4 para poder actualizarlo.

 

¿Pero se puede hacer la actualización a bootstrap 4.1?

Si pero esto llevará mucho tiempo y esfuerzo

 

Se ha modificado la estructura.
-- Buscar en inc/class/c.core.php y debajo de

        $this->settings['css'] = $this->settings['tema']['t_url'].'/css';
        $this->settings['js'] = $this->settings['tema']['t_url'].'/js';

Agregan lo siguiente

        $this->settings['AdminLTE'] = $this->settings['tema']['t_url'].'/AdminLTE';

 

- Se cambio de lugar las redes sociales del posts.

 

- Se integró el editor wysibb

 

- Se eliminaron archivos totalmente innecesarios y/o que no se usan!

 

En el caso que no se haya actualizado el iupload.php lo dejaré dentro del archivo y lo debe agregar en inc/php/

 

Descargar Theme AdminLTE2.4

Se instala con el mismo nombre.

En el caso de encontrar errores por favor avisarme!

 

Contiene un archivo leeme.txt que dice parte de este topic!

Aviso es solo actualización, no he modificado el theme!

 

ATENCIÓN: [No posee el archivo c.admin.php y c.registro.php] (actualizar registro topic actualizado)

Se me olvido de poner el recaptcha v2 para el registro descargan este archivo AdminLTE2.4[registro] el cual solo tiene

- registro.js [/js]

- m.register-admin.tpl [/templates/modules/complementos]

- m.admin_configs.tpl [/templates/admin_mods]

gracias ... miguel...

Share this post


Link to post
Share on other sites
hace 5 horas, Cuarteteros dijo:

gracias ... miguel...

de nada!

- El topic ha sido actualizado!!

Edited by Miguel92

Share this post


Link to post
Share on other sites
On 30/5/2018 at 1:58, Miguel92 dijo:

de nada!

- El topic ha sido actualizado!!

hola miguel ... no entendi la parte donde dice 

ATENCIÓN: [No posee el archivo c.admin.php y c.registro.php] (actualizar registro topic actualizado)

Se me olvido de poner el recaptcha v2 para el registro descargan este archivo AdminLTE2.4[registro] el cual solo tiene

- registro.js [/js]

- m.register-admin.tpl [/templates/modules/complementos]

- m.admin_configs.tpl [/templates/admin_mods]

y despues pusiste otra actualizacion 30/05/2018 como seria ?  cargo los archiso de  AdminLTE2.4[registro]  y hago lo que dice en la nueva actualziacion ... 

porque yo al p.registro_form lo tengo asi ....

1:
<div id="RegistroForm">
		<label for="nick">Ingresa tu usuario</label>
		<input name="nick" type="text" id="nick" tabindex="1" title="Ingrese un nombre de usuario &uacute;nico" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<label for="password">Contraseña deseada</label>
		<input name="password" type="password" id="password" tabindex="2" title="Ingresa una contrase&ntilde;a segura" onfocus="registro.focus(this)" onblur="registro.blur(this)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<label for="password2">Confirme contraseña</label>
		<input name="password2" type="password" id="password2" tabindex="3" title="Vuelve a ingresar la contrase&ntilde;a" onfocus="registro.focus(this)" onblur="registro.blur(this)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<label for="email">E-mail</label>
		<input name="email" type="text" id="email" tabindex="4" title="Ingresa tu direcci&oacute;n de email" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<hr />
		<label>Fecha de Nacimiento</label>
		<hr />
		<select id="dia" name="dia" tabindex="5" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese d&iacute;a de nacimiento">
			<option value="">Día</option>
			{section name=dias start=1 loop=32}
			<option value="{$smarty.section.dias.index}">{$smarty.section.dias.index}</option>
			{/section}
		</select>
		<select id="mes" name="mes" tabindex="6" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese mes de nacimiento">
			<option value="">Mes</option>
			{foreach from=$tsMeces key=mid item=mes}
			<option value="{$mid}">{$mes}</option>
			{/foreach}	
		</select>
		<select id="anio" name="anio" tabindex="7" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese a&ntilde;o de nacimiento">
			<option value="">Año</option>
            {section name=year start=$tsEndY loop=$tsEndY step=-1 max=$tsMax}
			<option value="{$smarty.section.year.index}">{$smarty.section.year.index}</option>
            {/section}
		</select> <div class="help"><span><em></em></span></div>
    	<hr />
		<label for="sexo">Sexo</label>
		<input class="radio" type="radio" id="sexo_m" tabindex="8" name="sexo" value="1" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Selecciona tu g&eacute;nero" /> <label class="list-label" for="sexo_m">Masculino</label>
		<input class="radio" type="radio" id="sexo_f" tabindex="8" name="sexo" value="0" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Selecciona tu g&eacute;nero" /> <label class="list-label" for="sexo_f">Femenino</label>
		<div class="help"><span><em></em></span></div>
        <hr />
		<label for="pais">País</label>
		<select id="pais" name="pais" tabindex="9" onblur="registro.blur(this)" onchange="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese su pa&iacute;s">
			<option value="">País</option>
			{foreach from=$tsPaises key=code item=pais}
			<option value="{$code}">{$pais}</option>
            {/foreach}
		</select> 
		<div class="help"><span><em></em></span></div>
        <hr />
		<label for="estado">Región</label>
		<select title="Ingrese su estado" autocomplete="off" onfocus="registro.focus(this)" onchange="registro.blur(this)" onblur="registro.blur(this)" tabindex="10" name="estado" id="estado">
			<option value="">Región</option>
		</select> 
		<div class="help"><span><em></em></span></div>
        <hr />
		<div class="input-group">
                <label>Confirme humanidad:</label>
                <div class="g-recaptcha" data-sitekey="{$tsConfig.pkey}"></div>
                <div class="help"><span><em></em></span></div>
            </div>
		<div class="footerReg">
            <div class="form-line">
                <input type="checkbox" class="checkbox" id="terminos" name="terminos" tabindex="14" onblur="registro.blur(this)" onfocus="registro.focus(this)" title="Acepta los T&eacute;rminos y Condiciones?" /> 
                <label class="list-label" for="terminos"><a href="/pages/terminos-y-condiciones/" target="_blank">Acepto los términos de uso</a></label> 
                <div class="help"><span><em></em></span></div>
            </div>
		</div>
</div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script type="text/javascript">
$.getScript("{$tsConfig.js}/registro.js{literal}", function(){
    registro.change_paso(1);
    mydialog.procesando_fin();
});
</script>

 

Share this post


Link to post
Share on other sites
hace 4 minutos, Cuarteteros dijo:

hola miguel ... no entendi la parte donde dice 

ATENCIÓN: [No posee el archivo c.admin.php y c.registro.php] (actualizar registro topic actualizado)

Se me olvido de poner el recaptcha v2 para el registro descargan este archivo AdminLTE2.4[registro] el cual solo tiene

- registro.js [/js]

- m.register-admin.tpl [/templates/modules/complementos]

- m.admin_configs.tpl [/templates/admin_mods]

y despues pusiste otra actualizacion 30/05/2018 como seria ?  cargo los archiso de  AdminLTE2.4[registro]  y hago lo que dice en la nueva actualziacion ... 

porque yo al p.registro_form lo tengo asi ....

Spoiler

1:
<div id="RegistroForm">
		<label for="nick">Ingresa tu usuario</label>
		<input name="nick" type="text" id="nick" tabindex="1" title="Ingrese un nombre de usuario &uacute;nico" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<label for="password">Contraseña deseada</label>
		<input name="password" type="password" id="password" tabindex="2" title="Ingresa una contrase&ntilde;a segura" onfocus="registro.focus(this)" onblur="registro.blur(this)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<label for="password2">Confirme contraseña</label>
		<input name="password2" type="password" id="password2" tabindex="3" title="Vuelve a ingresar la contrase&ntilde;a" onfocus="registro.focus(this)" onblur="registro.blur(this)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<label for="email">E-mail</label>
		<input name="email" type="text" id="email" tabindex="4" title="Ingresa tu direcci&oacute;n de email" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> 
		<div class="help"><span><em></em></span></div>
		<hr />
		<label>Fecha de Nacimiento</label>
		<hr />
		<select id="dia" name="dia" tabindex="5" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese d&iacute;a de nacimiento">
			<option value="">Día</option>
			{section name=dias start=1 loop=32}
			<option value="{$smarty.section.dias.index}">{$smarty.section.dias.index}</option>
			{/section}
		</select>
		<select id="mes" name="mes" tabindex="6" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese mes de nacimiento">
			<option value="">Mes</option>
			{foreach from=$tsMeces key=mid item=mes}
			<option value="{$mid}">{$mes}</option>
			{/foreach}	
		</select>
		<select id="anio" name="anio" tabindex="7" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese a&ntilde;o de nacimiento">
			<option value="">Año</option>
            {section name=year start=$tsEndY loop=$tsEndY step=-1 max=$tsMax}
			<option value="{$smarty.section.year.index}">{$smarty.section.year.index}</option>
            {/section}
		</select> <div class="help"><span><em></em></span></div>
    	<hr />
		<label for="sexo">Sexo</label>
		<input class="radio" type="radio" id="sexo_m" tabindex="8" name="sexo" value="1" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Selecciona tu g&eacute;nero" /> <label class="list-label" for="sexo_m">Masculino</label>
		<input class="radio" type="radio" id="sexo_f" tabindex="8" name="sexo" value="0" onblur="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Selecciona tu g&eacute;nero" /> <label class="list-label" for="sexo_f">Femenino</label>
		<div class="help"><span><em></em></span></div>
        <hr />
		<label for="pais">País</label>
		<select id="pais" name="pais" tabindex="9" onblur="registro.blur(this)" onchange="registro.blur(this)" onfocus="registro.focus(this)" autocomplete="off" title="Ingrese su pa&iacute;s">
			<option value="">País</option>
			{foreach from=$tsPaises key=code item=pais}
			<option value="{$code}">{$pais}</option>
            {/foreach}
		</select> 
		<div class="help"><span><em></em></span></div>
        <hr />
		<label for="estado">Región</label>
		<select title="Ingrese su estado" autocomplete="off" onfocus="registro.focus(this)" onchange="registro.blur(this)" onblur="registro.blur(this)" tabindex="10" name="estado" id="estado">
			<option value="">Región</option>
		</select> 
		<div class="help"><span><em></em></span></div>
        <hr />
		<div class="input-group">
                <label>Confirme humanidad:</label>
                <div class="g-recaptcha" data-sitekey="{$tsConfig.pkey}"></div>
                <div class="help"><span><em></em></span></div>
            </div>
		<div class="footerReg">
            <div class="form-line">
                <input type="checkbox" class="checkbox" id="terminos" name="terminos" tabindex="14" onblur="registro.blur(this)" onfocus="registro.focus(this)" title="Acepta los T&eacute;rminos y Condiciones?" /> 
                <label class="list-label" for="terminos"><a href="/pages/terminos-y-condiciones/" target="_blank">Acepto los términos de uso</a></label> 
                <div class="help"><span><em></em></span></div>
            </div>
		</div>
</div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script type="text/javascript">
$.getScript("{$tsConfig.js}/registro.js{literal}", function(){
    registro.change_paso(1);
    mydialog.procesando_fin();
});
</script>

 

 

Lo que hace es reemplazar el registro que me había olvidado! Así como tienes el p.form.registro.tpl esta bien...

 

Lo otro del "c.admin.php" y "c.registro.php" no hace falta si usas la versión 1.3.0.000... Ahora si no tienes la última versión de risus si tienes que hacer ambos, pero ten en cuenta que en p.form.registro.tpl usa {$tsConfig.pkey} y en mi topic es {$tsConfig.publickey}

Y lo del 30/05/2018 fue porque me había equivocado de archivo...

Share this post


Link to post
Share on other sites
hace 22 horas, Cuarteteros dijo:

hola miguel de nuevo jeje me di cuenta que no aparecen los iconos que estan remarcados en los comentarios como lo soluciono? Aq94dJx.png  http://www.demosimple.hol.es/

Bueno para que aparezcan busca en AdminLTE->cool.css en la línea 1901

    background: url('images/sprite-comment.png') no-repeat;

reemplazarlo con

    background: url('../images/sprite-comment.png') no-repeat;

 

Share this post


Link to post
Share on other sites
hace 5 horas, Miguel92 dijo:

Bueno para que aparezcan busca en AdminLTE->cool.css en la línea 1901

    background: url('images/sprite-comment.png') no-repeat;

reemplazarlo con

    background: url('../images/sprite-comment.png') no-repeat;

 

si funciono de maravilla ... jeje ... gracias... estava pensando en actualizar la web desde 0 la que tengo online -... pero tengo que volver a cargar todos los modulos jeje y no recuerdo nada...  en teoria necesito arreglar lo del registro... http://www.simplementecuarteteros.net/registro/ para el capcha... que seria lo mas facil ? para solucionar el tema ese

Edited by Cuarteteros

Share this post


Link to post
Share on other sites

Compara el p.registro.form.tpl con el archivo que usar para el registro que supongo que será t.registro.tpl y solo reemplaza la parte del recapcha y el script debajo del mismo.. es igual que este comentario

Share this post


Link to post
Share on other sites

  • Similar Content

    • By Miguel92
      Actualizar de PHP 5.6 a PHP 7.0+
      Hacer al Script compatible con PHP 7.0+ (Por: @MagicInventor)
       
      Deben buscar estos archivos [ Raíz = localhost o servidor]
       
      Raíz/inc/ext/functions.php [Línea 28] y reemplazan esta línea 
          function db_exec($info = '', $type, $data) por esta
          function db_exec($info = '', $type = NULL, $data = NULL)  
      Si te aparece esto:
      Fatal error: Uncaught ArgumentCountError: Too few arguments to.... (dependerá de donde estes ubicado, puede ser muro, perfil, etc.), para encontrar dicho error solo vean la última parte del "Fatal error" que le dirá el Archivo y la línea
       
      debes hacer lo siguiente
      Raíz/inc/class/c.actividad.php [Línea 95] y reemplazan esta línea 
          public function setActividad($ac_type, $obj_uno, $obj_dos = 0){ por esta
          public function setActividad($ac_type = NULL, $obj_uno = NULL, $obj_dos = 0){ En el mismo archivo [Línea 133] y reemplazan esta línea 
          public function getActividad($user_id, $ac_type = 0, $start = 0, $v_type){ por
          public function getActividad($user_id = NULL, $ac_type = 0, $start = 0, $v_type = NULL){ Luego buscamos en el mismo archivos y agregamos esto = NULL a lado de $data 
      Líneas 211, 253, 291, y a lado de $time igual 382
       
      Raíz/inc/class/c.monitor.php [Línea 101] y reemplazan esta línea
          function setAviso($user_id, $subject = '(sin asunto)', $body, $type = 0){ por
          function setAviso($user_id = NULL, $subject = '(sin asunto)', $body = NULL, $type = 0){ En el mismo archivo [Línea 222] y reemplazan esta línea 
          function setFollowNotificacion($notType, $f_type, $user_id, $obj_uno, $obj_dos = 0, $excluir){ por esta
           function setFollowNotificacion($notType = NULL, $f_type = NULL, $user_id = NULL, $obj_uno = NULL, $obj_dos = 0, $excluir = NULL){  
      Raíz/inc/class/c.muro.php [Línea 21] y reemplazan esta línea
          public function getPrivacity($user_id, $username, $follow, $yfollow){ por esta
          public function getPrivacity($user_id = NULL, $username = NULL, $follow = NULL, $yfollow = NULL){  
      Ahora en el caso que les diera un error en algún archivo (EJEMPLO: c.portal.php línea 300), buscan esa línea en el archivo y agregan = NULL como sea hecho anteriormente, bien eso creo que sería todo...
       
    • By Miguel92
      Esto solo y únicamente para los que actualizaron
      de PHP 5.6 a PHP 7.x...
       
      NOTA: En la documentación oficial de php.net es funcional hasta:
      (PHP 4, PHP 5, PHP 7) each — Devolver el par clave/valor actual de un array y avanzar el cursor del array  
      En el archivo templates/b_toup/home/b.tags_recientes.tpl hay una función llamada each() y se visulizará un mensaje parecido a este
      Deprecated: The each() function is deprecated. This message will be suppressed on further calls in [ubicación en cache]....  
      Para arreglar eso buscamos en el archivo ya mencionado esto: [línea 31]
      while (list($name, $valor) = each($tags)){ y la reemplazamos por
      foreach($tags as $name => $valor) {  
      06/12/2018
      En el caso que le siga dando error comparenlo con este:
       
    • By Miguel92
      Tema orginal "Cralke"
      Jquery 1.7.1
      Captcha v1
       
      Tema actualizado "Cralke"
      Jquery 3.3.1
      Recaptcha v2
       
      Actualizador automático + instalación del theme, solo te queda borrar el cache!
      (lo que quiero decir que no tienes que ir a administración -> temas -> e instalarlo desde allí, el upgrade ya lo instala y lo activa)
       
      PANTALLA DEL REGISTRO

       
      PANTALLA DEL UPGRADE (1)

       
      Seleccionan "Realizarlas automáticamente" y luego presionan realizar instalación
       
      PANTALLA DEL UPGRADE (2)

       
      Si esta en verde, quiere decir que ya las ejecuto!
      Si esta en rojo, quiere decir que la línea esta duplicada o hay un error...En el caso de esta esas 2 estan duplicadas...
       
      MODO 1: Crakle(theme+archivos):
      Contiene el theme completo + los 5 archivos del directorio class (c.borradores.php, c.core.php, c.cuenta.php, c.posts.php y c.registro.php)
      Descargar: Crakle(theme+archivos)
       
      MODO 2: Crakle(completo):
      Contiene el theme completo + directorio inc completo(versión 1.3)
      Descargar: Crakle(completo)
       
      La descomprimen dentro de la carpeta raíz, luego en el navegador web lo usan así https://www.tu_web.com/upgrade/
       
      PASO OLVIDADO:
      Buscar en templates/modules/admin_mods/m.admin_rangos.tpl y borrar
      {literal} <style> #colores {width:200px; position:absolute; right:50px; padding:15px 8px 10px 10px; border:1px solid #ccc; background-color:#fafafa;} #cerrar {position:absolute; right:5px; top:3px; z-index:2} #colores .title {position:absolute; left:10px; top:0px; z-index:2; font-weight:bold} #colores span {display:block; float:left; cursor:pointer; border:1px solid #FFF; border-width:1px 1px 0 0} /* ADMIN NEW LABEL */ fieldset tr.newLabel td{text-align:left;} fieldset tr.newLabel label{ float:none; width:80px; padding:0; text-align:center; cursor:pointer; } tr.newLabel label.yes:hover { background-color:#86F786; } tr.newLabel label.no:hover { background-color:#EFB0B2; } </style> {/literal}  
      Luego más abajo buscar
      <dd><input type="text" id="rColor" name="rColor" value="{$tsRango.r_color}" style="color:#{$tsRango.r_color}; font-weight:bold;width:30%"/></dd> y reemplazarlo (en realizar al input se le agrega class="jscolor")
      <dd><input type="text" id="rColor" class="jscolor" name="rColor" value="{$tsRango.r_color}" style="color:#{$tsRango.r_color}; font-weight:bold;width:30%"/></dd>  
    • By Miguel92
      Actualización del Jquery
      Actualizar Jquery 1.7.1 a Jquery 3.3.1
       
      Para ello buscamos en nuestro theme en la carpeta de JS y borraremos jquery.min.js, luego entramos a este archivo Jquery 3.3.1.min.js , y la llamaremos jquery-3.3.1.min.js
       
      Ahora iremos a templates/sections/main_header.tpl y buscamos
      <script src="{$tsConfig.js}/jquery.min.js" type="text/javascript"></script> <!-- Cargamos libreria jQuery desde Google <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> --> y la reemplazamos por
      <script src="{$tsConfig.js}/jquery-3.3.1.min.js" type="text/javascript"></script> o simplemente reemplazamos el contenido del archivo jquery.min.js
       
      luego buscamos 
      <script src="{$tsConfig.js}/jquery.plugins.js" type="text/javascript"></script> <script src="{$tsConfig.js}/acciones.js" type="text/javascript"></script> <script src="{$tsConfig.js}/funciones.js" type="text/javascript"></script>  
      y agregaremos ?{$smarty.now} para evitar borrar la cache una y otra vez, con este método es como que lo registra por primera vez!
      [SOLO SI ACTUALIZARÓN ANTES A SMARTY 3.2]
      <script src="{$tsConfig.js}/jquery.plugins.js?{$smarty.now}" type="text/javascript"></script> <script src="{$tsConfig.js}/acciones.js?{$smarty.now}" type="text/javascript"></script> <script src="{$tsConfig.js}/funciones.js?{$smarty.now}" type="text/javascript"></script>  
      Ahora las modificaciones, su usas Sublime Text 3 o Notepad++, haz una búsqueda y reemplazar (find & replace) ¡OJO! hay que tener mucho cuidado de no reemplazar lo que no debemos cambiar... a lo siguiente que hacemos es: 
       
      "Debo agradecer a @MrDioamDev por explicarme lo necesario"
       
      ============== ACCIONES ==============
      Archivo: acciones.js
      Buscar .live( y reemplazarla por .on(
      Líneas: 1234 (x2 en la misma línea)
      ******
      Ahora buscamos .bind( y la cambiamos por .on( 
      Líneas: 1240, 1262, 1265, 1298
      ******
      despues buscamos .unbind( y la cambiamos por .off(
      Líneas: 1076, 1298 (x2 en la misma línea)
       
      ============== CUENTA ==============
      Archivo: cuenta.js
      Buscar .live( y reemplazarla por .on(
      Línea: 2
      ******
      Ahora buscamos .bind( y la cambiamos por .on( 
      Líneas: 189, 287
      ******
      despues buscamos .unbind( y la cambiamos por .off(
      Líneas: 189, 417, 534 (x2 en la misma línea)
       
      Luego en el mismo archivo línea 449 que debe decir
      "// Jcrop-0.9.8-min - K. Hallman / DeepLiquid.com 08 - http://deepliquid.com/content/Jcrop.html - MIT License"
      borran todo desde allí hasta abajo
       
      ============== CUENTADOS ==============
      Archivo: cuentados.js
      Borrar este archivo
       
      ============== FAVORITOS ==============
      Archivo: favoritos.js
      Ahora buscamos .bind( y la cambiamos por .on( 
      Líneas: 166, 235
      ******
      despues buscamos .unbind( y la cambiamos por .off(
      Líneas: 166, 235
       
      ============== FOTOS ==============
      Archivo: fotos.js
      Ahora buscamos .bind( y la cambiamos por .on( 
      Líneas: 224, 230
       
      ============== FUNCIONES ==============
      Archivo: funciones.js
      Buscar .size(); y reemplazarla por .length;
      Línea: 557
       
      ============== JQUERY.COLOR ==============
      Archivo: jquery.color.js
      Buscar .live( y reemplazarla por .on(
      Línea: 55
       
      ============== JQUERY.FORM ==============
      Archivo: jquery.form.js
      Borrar este archivo, ya que se actualizará en jquery.plugins
       
      ============== JQUERY.PLUGINS ==============
      Archivo: jquery.plugins.js
      En otro topic ya que actualizaremos los plugins dentro del archivo
      abrir el archivo y reemplazar el contenido por jquery.plugins (actualizado)
       
      ============== JQUERY.TABLEDND ==============
      Archivo: jquey.tablednd.js
      Borrar este archivo, ya que se actualizará en jquery.plugins
       
      ============== LIVE ==============
      Archivo: live.js
      Buscar .live( y reemplazarla por .on(
      Línea: 165
       
      ============== PERFIL ==============
      Archivo: perfil.js
      Buscar .live( y reemplazarla por .on(
      Líneas: 578, 592
    • By Miguel92
      Actualización:
      Compartir posts "Redes Sociales"
       
      Bueno cuando ves un post, lo más probable que lo veas de esta manera...
      Y un mensaje en la consola que dice lo siguiente 'imagen'

       
      Bien empecemos:
      1 - Buscamos en templates/modules/m.posts_content.tpl (o en donde tengas para compartir ya que los themes son distintos)
       
      CAMBIAMOS TWITTER
      <a href="http://twitter.com/share" class="twitter-share-button" data-count="vertical" data-via="{$tsConfig.titulo}" data-lang="es">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> la reemplazamos por
      <a href="https://twitter.com/share?ref_src=twsrc%5Etfw" class="twitter-share-button" data-size="large" data-text="{$tsPost.post_title}" data-url="{$tsConfig.url}/posts/{$tsPost.categoria.c_seo}/{$tsPost.post_id}/{$tsPost.post_title|seo}.html" data-lang="es" data-dnt="true" data-show-count="true">Tweet</a>  
      CAMBIAMOS FACEBOOK
      <a name="fb_share" share_url="{$tsConfig.url}/posts/{$tsPost.categoria.c_seo}/{$tsPost.post_id}/{$tsPost.post_title|seo}.html" type="box_count" href="http://www.facebook.com/sharer.php">Compartir</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> la reemplazamos por
      <div class="fb-share-button" data-href="{$tsConfig.url}/posts/{$tsPost.categoria.c_seo}/{$tsPost.post_id}/{$tsPost.post_title|seo}.html" data-layout="button_count" data-size="large" data-mobile-iframe="true"><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u={$tsConfig.url}/posts/{$tsPost.categoria.c_seo}/{$tsPost.post_id}/{$tsPost.post_title|seo}.html&src=sdkpreparse" class="fb-xfbml-parse-ignore">Compartir</a></div>  
      2 - Como verán no posee los *.js para que funcione yo lo he colocado a mi manera, ustedes lo pueden poner en el mismo archivo o hacer lo que hice, en templates/t.posts.tpl arriba de
      {include file='sections/main_footer.tpl'} agregan esto
      <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <div id="fb-root"></div> {literal} <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/es_ES/sdk.js#xfbml=1&version=v3.0"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> {/literal}  

       
      Ahora si quieren agregar Google+
      1 - En m.posts_content.tpl debajo de
      <ul class="post-compartir clearbeta"> agregan esto
      <li class="share-big"> <div class="g-plus" data-action="share" data-height="24" data-href="{$tsConfig.url}/posts/{$tsPost.categoria.c_seo}/{$tsPost.post_id}/{$tsPost.post_title|seo}.html"></div> </li> 2 - Ahora en t.posts.tpl arriba de
      {include file='sections/main_footer.tpl'} agregan esto
       
      <script src="https://apis.google.com/js/platform.js" async defer>{literal}{lang: 'es'}{/literal}</script> y les quedaría así...
      (imagen actualizada)

       
      Nota: Para visualizarlo de esta manera buscar en el mismo archivo en el que sea realizado la modificación "m.posts_content.tpl" y buscamos (solo en la de twitter, facebook y google) solo los 3 primero (en el caso que no agregues google serán los 2 primeros)
      <li class="share-big"> y la cambian por
      <li class="share-big" id="redes"> luego ir a estilo.css y buscan
      .FBConnectButton_Small .FBConnectButton_Text { margin-left:17px; padding:2px 4px 3px!important; -moz-border-radius:3px; } y arriba pegan esto
      .post-compartir #redes { margin-top: 32px; }  
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Patrocinador



  • ×