Ayuda no aparece boton de gracias en mi theme

Started by ^SoporteGSM^, August 05, 2018, 02:19:01 PM

Previous topic - Next topic

^SoporteGSM^

Mi tema: http://custom.simplemachines.org/themes/index.php?lemma=2806
Mod: http://www.smfpersonal.net/downloads.html;sa=view;down=322
Mi foro: http://www.gsmarena.com.mx/index.php
User demo: demo Pass: User1234

La cuestion es que los botones de gracias no aparecen en mi tema, pueden ayudarme por favor??

Adjunto mi Display.template.php

******************************************

Estos son los cambios a hacer:



echo '
<form action="', $scripturl, '?action=quickmod2;topic=', $context['current_topic'], '.', $context['start'], '" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;" onsubmit="return oQuickModify.bInEditMode ? oQuickModify.modifySave(\'' . $context['session_id'] . '\', \'' . $context['session_var'] . '\') : false">';


Reempplazar:


// AJAX Style Thank You Post
if (!empty($modSettings['thankYouPostAJAX']))
{
echo '
<script language="JavaScript" type="text/javascript">
var thank_you_ajax_url = smf_scripturl + \'?action=thankyouajax;topic=' . $context['current_topic'] . '\';

function thankyou(msg_id) {
// Follow the link if no ajax support...
if (!window.XMLHttpRequest)
return true;

// Standard Variables
var elementName = "ThankOMaticID" + msg_id;
var elementButton = "buttonThxID" + msg_id;
var elementLockButton = "thank_lock_button_" + msg_id;
var elementDeleteButton = "thank_delete_button_" + msg_id;

// Tell him that something loading :)
ajax_indicator(true);

// Remove the Thank You Button :)
document.getElementById(elementButton).style.display = "none";
document.getElementById(elementLockButton).style.display = "none";
document.getElementById(elementDeleteButton).style.display = "none";

var thank_you_ajax_thx = thank_you_ajax_url + ";sa=thx;msg=" + msg_id;
var data = ThankYouLoadTextData(thank_you_ajax_thx, elementName, elementButton, elementDeleteButton, elementLockButton);

return !data;
}

function ThankYouLoadTextData(url, elementName, elementButton, elementDeleteButton, elementLockButton) {
if (!window.XMLHttpRequest)
return false;

request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState != 4)
return;
if (request.responseText != null && request.status == 200) {
if (request.responseText.substr(0, 7) == "#ERROR#") {
setInnerHTML(document.getElementById("Error" + elementName), request.responseText.substr(7));
document.getElementById(elementName).style.display = "block";
document.getElementById(elementButton).style.display = "inline";
document.getElementById(elementLockButton).style.display = "none";
document.getElementById(elementDeleteButton).style.display = "none";
ajax_indicator(false);
}
else {
document.getElementById(elementName).style.display = "block";
setInnerHTML(document.getElementById(elementName), request.responseText);
document.getElementById(elementButton).style.display = "none";
document.getElementById(elementLockButton).style.display = "inline";
document.getElementById(elementDeleteButton).style.display = "inline";
ajax_indicator(false);
}
return false;
}
else {
return true;
}
}
// Load the Request!
request.open("GET", url, true);
request.send(null);
return request;
}
</script>';
}

echo '
<form action="', $scripturl, '?action=quickmod2;topic=', $context['current_topic'], '.', $context['start'], '" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;" onsubmit="return oQuickModify.bInEditMode ? oQuickModify.modifySave(\'' . $context['session_id'] . '\', \'' . $context['session_var'] . '\') : false">';


//////////////////////////////////////


// Show avatars, images, etc.?


Reemplazar


// Show some Thank-O-Matic Stats ;D
if (!empty($modSettings['thankYouPostDisplayPage']) && (empty($modSettings['thankYouPostDisplayDisableBecame']) || empty($modSettings['thankYouPostDisplayDisableMade'])))
{
echo '
<li>', $txt['thank_you_post_thx_display'], '</li>';
// Disabled?
if(empty($modSettings['thankYouPostDisplayDisableMade']))
echo '
<li>-', $txt['thank_you_post_made_display'], ': ', $message['member']['thank_you_post']['made'], '</li>';

// Disabled?
if(empty($modSettings['thankYouPostDisplayDisableBecame']))
echo '
<li>-', $txt['thank_you_post_became_display'], ': ', $message['member']['thank_you_post']['became'], '</li>';
}

// Show avatars, images, etc.?


//////////////////////////////


// Maybe we can approve it, maybe we should?


Reemplazar:


elseif (($message['thank_you_post']['post'] && !$message['thank_you_post']['locked']) || (($message['thank_you_post']['lock'] || $message['thank_you_post']['delete']) && $message['thank_you_post']['isThankYouPost']))
echo '
<ul class="reset smalltext quickbuttons">';

// Maybe we can approve it, maybe we should?


//////////////////////////////////////


// Can we restore topics?


Reemplazar


// Can do some Thank You Post things :)
if ($message['thank_you_post']['post'] && !$message['thank_you_post']['locked'])
{
echo '
<li class="thank_you_button"><span id="buttonThxID' . $message['id'] . '" style="display: inline;"><a id="buttonThxHrefID' . $message['id'] . '" href="', $scripturl, '?action=thankyou;topic=', $context['current_topic'], '.0;msg=', $message['id'], '"'.(!empty($modSettings['thankYouPostAJAX']) ? ' onclick="return thankyou(' . $message['id'] . ');"' : '').'>', $txt['thank_you_post_post_b'], '</a></span></li>';

if(!empty($modSettings['thankYouPostAJAX']) && $context['browser']['is_ie']) {
// I HATE INTERNET EXPLORER!!!!!!!!!!!!!!!!!!!!!!!
echo '
<script language="JavaScript" type="text/javascript">
// Rewrite the url :x so that internet explorer can not follow it
document.getElementById("buttonThxHrefID' . $message['id'] . '").href = "#msg=' . $message['id'] . '";
</script>';
}
}

// This is the Thank-O-Matic Lock Button with Ajax special Addon :D
if ($message['thank_you_post']['lock'] && $message['thank_you_post']['isThankYouPost'])
echo '
<li class="', $message['thank_you_post']['locked'] ? 'thank_you_open_button' : 'thank_you_lock_button', '"><a href="', $scripturl, '?action=thankyoupostlock;topic=', $context['current_topic'], '.0;msg=', $message['id'], '">', $message['thank_you_post']['locked'] ? $txt['thank_you_post_open_b'] : $txt['thank_you_post_lock_b'], '</a></li>';
elseif ($message['thank_you_post']['lock'] && !$message['thank_you_post']['isThankYouPost'] && !empty($modSettings['thankYouPostAJAX']) && empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<li class="', $message['thank_you_post']['locked'] ? 'thank_you_open_button' : 'thank_you_lock_button', '" id="thank_lock_button_' . $message['id'] . '" style="display: none;"><a href="', $scripturl, '?action=thankyoupostlock;topic=', $context['current_topic'], '.0;msg=', $message['id'], '">', $message['thank_you_post']['locked'] ? $txt['thank_you_post_open_b'] : $txt['thank_you_post_lock_b'], '</a></li>';
// This will prevent Java Script errors on most browser...
elseif (!empty($modSettings['thankYouPostAJAX']) || !empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<span id="thank_lock_button_' . $message['id'] . '" style="display: none;"></span>';

// This is the Thank-O-Matic Delete Button with Ajax special Addon ;P
if ($message['thank_you_post']['delete'] && $message['thank_you_post']['isThankYouPost'])
echo '
<li class="thank_you_delete_button"><a href="', $scripturl, '?action=thankyoupostdelete;topic=', $context['current_topic'], '.0;msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_thank_you_post'], '?\');">', $txt['thank_you_post_delete_b'], '</a></li>';
elseif ($message['thank_you_post']['delete'] && !$message['thank_you_post']['isThankYouPost'] && !empty($modSettings['thankYouPostAJAX']) && empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<li class="thank_you_delete_button" id="thank_delete_button_' . $message['id'] . '" style="display: none;"><a href="', $scripturl, '?action=thankyoupostdelete;topic=', $context['current_topic'], '.0;msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_thank_you_post'], '?\');">', $txt['thank_you_post_delete_b'], '</a></li>';
// This will prevent Java Script errors on most browser...
elseif (!empty($modSettings['thankYouPostAJAX']) || !empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<span id="thank_delete_button_' . $message['id'] . '" style="display: none;"></span>';

// Can we restore topics?


/////////////////////////////////////////


if ($message['can_approve'] || $context['can_reply'] || $message['can_modify'] || $message['can_remove'] || $context['can_split'] || $context['can_restore_msg'])
echo '
</ul>';


Reemplazar:


if ($message['can_approve'] || $context['can_reply'] || $message['can_modify'] || $message['can_remove'] || $context['can_split'] || $context['can_restore_msg'])
echo '
</ul>';

// Thank-O-Matic okay close the ul on sometimes :D
elseif (($message['thank_you_post']['post'] && !$message['thank_you_post']['locked']) || (($message['thank_you_post']['lock'] || $message['thank_you_post']['delete']) && $message['thank_you_post']['isThankYouPost']))
echo '
</ul>';


///////////////////////////////////////

<hr class="post_separator" />';

Reemplazar:


';

// Show the Thank You list or the link or.... nothing? XD
echo '
<div class="ThankOMatic ', $message['approved'] ? ($message['alternate'] == 0 ? 'windowbg' : 'windowbg2') : 'approvebg', '" style="display: '.($message['thank_you_post']['isThankYouPost'] ? 'block' : 'none').';" id="ThankOMaticID' . $message['id'] . '">
<span class="error" id="ErrorThankOMaticID' . $message['id'] . '"></span>';
// Output the Template for Thank-O-Matic (Normal found in the index.template.php)
// It will fall back into a standard function, if this template_thank_you_post doesn't exists!
if ($message['thank_you_post']['isThankYouPost'])
{
// Mistake? Function not loaded oO.
if (empty($context['call_thank_you_post_func']))
loadThankYouTemplateFunctions();

// Call the correct function =D
$context['call_thank_you_post_func']($message['thank_you_post'], $message['id']);
}
echo '
</div>



///////////////////////////////////////////


// Restore topic. eh?  No monkey business.


Reemplazar


if($context['thank_you_post_unlock_all'])
$mod_buttons[] = array('text' => 'thank_you_post_unlock_all', 'image' => 'thankyoulock2.png', 'lang' => true, 'url' => $scripturl . '?action=thankyoupostunlockall;topic='  . $context['current_topic'] . '.0');

// Restore topic. eh?  No monkey business.

-Rock Lee-

¿Que version de php usas? ¿Algun error en los logs de errores?


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^

De echo en todos los cambios marca error amigo... no detecto donde son los cambios, ya que no encuentro lo que debo encontrar segun las instrucciones

-Rock Lee-

Lo vuelvo a preguntar ¿Que version de php usas? y ¿Algun error en los logs de errores? puntualmente dice error variable x o parecido!!!


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^


-Rock Lee-

Quote from: ^SoporteGSM^ on August 06, 2018, 12:28:46 AM
De echo en todos los cambios marca error amigo... no detecto donde son los cambios, ya que no encuentro lo que debo encontrar segun las instrucciones

Mas arriba dices te marca error en todos los cambios y luego me dices no marca ningun error... ¿Haz echo correctamente los cambios? ¿el Display.template.php es del theme o del tema predeterminado?


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^

A la hora de instalar marca errores en todos los cambios. Los busco de manera manual y nada. Y es que los botones de ese tema estan en un pequeño menu, mira:

Quiza por eso no en******ro los archivos que me pide reemplazar

pd. Si pudieras ayudarme, seria bueno que esos botones de gracias queden fuera de donde vienen los demas amigo. Gracias

d3vcho

Si de forma manual no encuentras las modificaciones a hacer es que otra modificación ha cambiado previamente esas líneas...
"Greeting Death as an old friend, they departed this life as equals"

^SoporteGSM^

Eso no es posible amigo, por que no tengo ningun mode que afcete el displeytemplate... es el primero

Dhayzon

es un trabajo enorme, Se puede hacer sin ningún problema si conoces el diseño del display del tema que usas, el caso es que es muy trabajoso 
te recomiendo comparar la plantilla por defecto con el del tema por defecto, pon  ambos en tu editor y sigue las  pistas como un detective.

búscalo pedazo por pedazo  no copies todo el código para buscar,ves donde cambia y ya.

Yo te recomendaría no usar el mod, verás que a  la larga de nada sirve esas cosas, son mods Tóxicos,

yo te lo haría pero me da flojera neta.

Rock Lee, por lo que yo entiendo es que instala el mod perfectamente el problema es en la parte donde  tiene que hacer cambios en la plantilla, por obvias razones le dará fallo todo por que ese tema esta muy personalizado, 

-Rock Lee-

Quote from: Dhayzon on August 06, 2018, 07:12:21 PM
Rock Lee, por lo que yo entiendo es que instala el mod perfectamente el problema es en la parte donde  tiene que hacer cambios en la plantilla, por obvias razones le dará fallo todo por que ese tema esta muy personalizado,

Se cual es el fallo precisamente y las adaptaciones hay realizar... debido al php esta en la versión 5.6 (en la rama 7.0 da problemas). Pero la verdad tengo trabajos pagos para sacar en si además es algo que llevaría tiempo de hacer por que es ir comparando uno a uno sumado al theme no cumple muchas reglas haciendo algo mas tedioso ver el código entero para funcione correctamente!


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Mick.

Y por que no copias el Display.template.php del default theme, Y lo pones en el theme que estas usando?

-Rock Lee-

Quote from: Mick. on August 06, 2018, 09:04:52 PM
Y por que no copias el Display.template.php del default theme, Y lo pones en el theme que estas usando?

El problema lo rompera todo (yo lo hice una vez) por que utiliza de diferente manera las variables y otras simplemente no estan por eso falla, no es imposible solo lleva tiempo y saber algo de código...


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

d3vcho

Creo que la mejor opción es cambiar de tema, o contactar con el autor del tema y pedir si puede ayudarte en algo. Personalmente no conozco la estructura del tema y sería mucho trabajo ponerse a adaptar esta modificación al mismo.
"Greeting Death as an old friend, they departed this life as equals"

^SoporteGSM^

Hola de nuevo yo jeje.

Ya logre avances en hacer todo manualmente:



1.- Ya aparecen los Agradecimientos dados y recibidos
2.- Pero el boton aparece dentro del cajon de acciones y quiero que este fuera... me pueden ayudar???

La modificacion que se encarga de eso es esta:

Encontrar:

// Can we restore topics?

Reemplazar:


// Can do some Thank You Post things :)
if ($message['thank_you_post']['post'] && !$message['thank_you_post']['locked'])
{
echo '
<li class="thank_you_button"><span id="buttonThxID' . $message['id'] . '" style="display: inline;"><a id="buttonThxHrefID' . $message['id'] . '" href="', $scripturl, '?action=thankyou;topic=', $context['current_topic'], '.0;msg=', $message['id'], '"'.(!empty($modSettings['thankYouPostAJAX']) ? ' onclick="return thankyou(' . $message['id'] . ');"' : '').'>', $txt['thank_you_post_post_b'], '</a></span></li>';

if(!empty($modSettings['thankYouPostAJAX']) && $context['browser']['is_ie']) {
// I HATE INTERNET EXPLORER!!!!!!!!!!!!!!!!!!!!!!!
echo '
<script language="JavaScript" type="text/javascript">
// Rewrite the url :x so that internet explorer can not follow it
document.getElementById("buttonThxHrefID' . $message['id'] . '").href = "#msg=' . $message['id'] . '";
</script>';
}
}

// This is the Thank-O-Matic Lock Button with Ajax special Addon :D
if ($message['thank_you_post']['lock'] && $message['thank_you_post']['isThankYouPost'])
echo '
<li class="', $message['thank_you_post']['locked'] ? 'thank_you_open_button' : 'thank_you_lock_button', '"><a href="', $scripturl, '?action=thankyoupostlock;topic=', $context['current_topic'], '.0;msg=', $message['id'], '">', $message['thank_you_post']['locked'] ? $txt['thank_you_post_open_b'] : $txt['thank_you_post_lock_b'], '</a></li>';
elseif ($message['thank_you_post']['lock'] && !$message['thank_you_post']['isThankYouPost'] && !empty($modSettings['thankYouPostAJAX']) && empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<li class="', $message['thank_you_post']['locked'] ? 'thank_you_open_button' : 'thank_you_lock_button', '" id="thank_lock_button_' . $message['id'] . '" style="display: none;"><a href="', $scripturl, '?action=thankyoupostlock;topic=', $context['current_topic'], '.0;msg=', $message['id'], '">', $message['thank_you_post']['locked'] ? $txt['thank_you_post_open_b'] : $txt['thank_you_post_lock_b'], '</a></li>';
// This will prevent Java Script errors on most browser...
elseif (!empty($modSettings['thankYouPostAJAX']) || !empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<span id="thank_lock_button_' . $message['id'] . '" style="display: none;"></span>';

// This is the Thank-O-Matic Delete Button with Ajax special Addon ;P
if ($message['thank_you_post']['delete'] && $message['thank_you_post']['isThankYouPost'])
echo '
<li class="thank_you_delete_button"><a href="', $scripturl, '?action=thankyoupostdelete;topic=', $context['current_topic'], '.0;msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_thank_you_post'], '?\');">', $txt['thank_you_post_delete_b'], '</a></li>';
elseif ($message['thank_you_post']['delete'] && !$message['thank_you_post']['isThankYouPost'] && !empty($modSettings['thankYouPostAJAX']) && empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<li class="thank_you_delete_button" id="thank_delete_button_' . $message['id'] . '" style="display: none;"><a href="', $scripturl, '?action=thankyoupostdelete;topic=', $context['current_topic'], '.0;msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_thank_you_post'], '?\');">', $txt['thank_you_post_delete_b'], '</a></li>';
// This will prevent Java Script errors on most browser...
elseif (!empty($modSettings['thankYouPostAJAX']) || !empty($modSettings['thankYouPostAJAXModButtonsDisable']))
echo '
<span id="thank_delete_button_' . $message['id'] . '" style="display: none;"></span>';

// Can we restore topics?


La modificacion ya esta aplicada en el archivo adjunto....

Dhayzon

si quieres que esté fuera de ese dropdown debes copiar el luego de
if ($message['can_approve'] || $context['can_reply'] || $message['can_modify'] || $message['can_remove'] || $context['can_split'] || $context['can_restore_msg'])


y ojo cambiar  las etiquetas <li> por div olo que mejor te parezca o elvolverlo en una etiqueta <ul> 

^SoporteGSM^


Advertisement: