[Problema] SMF Post Prefix

Started by Jotade29, April 22, 2022, 05:32:03 PM

Previous topic - Next topic

Jotade29

Buenas, primeramente, agradecer a @Diego Andrés por este mod, y a quien más corresponda (https://custom.simplemachines.org/index.php?mod=4038).

El mod funciona perfectamente, de hecho, en el theme default lo visualiza perfectamente. El problema viene con el theme Musicónica de smftrick. Dejo la imagen que vale más que mil palabras...



Como se puede apreciar, el icono del prefijo, en este caso, una llave inglesa, me lo pone al nivel del nombre del foro que contiene temas, no del tema del tema del foro.

Pido ayuda porque después de tratar de destripar el mod para ver qué puedo tocar para ello, no he visto nada... El sentido común me decía que los prefijos en el navtree se metían en algún sitio en el index template, pero en el apartado de modificaciones del mod, no he visto que se haya hecho ningún cambio a esa parte...

La versión que uso es la 2.0.19, si sabéis por dónde pueden ir os tiros, por favor, indicadme qué archivos debo proporcionaros para ojear el código. También he comprobado que no sea ninguna regla del estilo, y como he comentado, se pone al nivel del nombre del foro en el que están metidos los temas de ese foro, no en el tema del foro, como debería ir.

Gracias.

Jotade29

#1
Buenas, voy a aportar datos relevantes.

El fragmento de código de muestra el prefix se encuentra en el index, y es el que indica el extra_before:

if (isset($tree['extra_before']))
echo $tree['extra_before'];

Y en fragmento de código que hace alusión a ello, en el prefix, es el siguiente:

<add><![CDATA['extra_before' => $settings['linktree_inline'] ? $txt['topic'] . ': ' : ''. PostPrefix::formatPrefix($topicinfo['id_prefix'])]]></add>
completo sería...

$context['linktree'][] = array(
'url' => $scripturl . '?topic=' . $topic . '.0',
'name' => $topicinfo['subject'],
'extra_before' => $settings['linktree_inline'] ? $txt['topic'] . ': ' : ''. PostPrefix::formatPrefix($topicinfo['id_prefix'])

No sé adaptar la parte del extra_before última, para ponerlo correctamente.

Vuelvo a editar...

Al cambiar el extra_before por extra_after, me he dado cuenta que lo pone en el sitio correcto, pero como tengo la imagen de la flecha y la carpeta se queda arriba, puesto que si pongo extra_afer me lo pone después del título del tema. Se trata de poner el prefijo entre el icono de la carpeta y el nombre del tema.

Jotade29

Buenas.

Primero que nada decir que no soy programador ni similar, lo que he hecho lo he aprendido a base de ver, experimentar, así que si he hecho alguna tontería... estaría genial que me lo hagáis saber.

He solventado el error, para ello he hecho lo siguiente:

1º En el source del display he anulado /* 'extra_before' => $settings['linktree_inline'] ? $txt['topic'] . ': ' : ''. PostPrefix::formatPrefix($topicinfo['id_prefix']) */

2º He creado este contexto en la parte lógica $context['prefix_img'] = PostPrefix::formatPrefix($topicinfo['id_prefix']);

3º Mediante un condicional, en el index.template he hecho la comprobación de si existe el prefijo me muestre el diseño de mi theme (flecha + carpeta + prefijo y nombre del tema), y en caso contrario, que me lo muestre sin el prefijo (flecha + carpeta + nombre del tema)

Agradezco críticas @Diego Andrés o de cualquier otro.

Muchas gracias!!¡¡

Diego Andrés

Si no te da problemas pues todo excelente!
La versión de ese mod para 2.0.x ya no le doy soporte en realidad, solamente la de 2.1.

Pero por lo visto no has tenido dificultad para modificarlo.

Saludos

SMF Tricks - Free & Premium Responsive Themes for SMF.

Advertisement: