Beiträge: 511
Themen: 101
Registriert seit: 07.03.2015
MyBB-Version: 1.8.33
17.06.2021, 23:18
(Dieser Beitrag wurde zuletzt bearbeitet: 17.06.2021, 23:23 von skrilaxrev.)
(17.06.2021, 22:56)[ExiTuS] schrieb: Postbit ist in diesem Fall eine Untermenge vom Template "showthread". Und in diesem wird die entsprechende JS-Bibliothek eingebunden:
./jscripts/thread.js
(Hier befinden sich die Methoden für das Löschen)
Ist die Datei auf aktuellem Stand? Im Zweifel erneut hochaden/aktualisieren.
Die Version der JS-Bibliothek ist ebenfalls abhängig von der MyBB-Version. Ich denke seit 1822 wurde sie mit keinem weiteren Update verändert (erst das kommende 1827 bringt wohl wieder eine neue).
[ETS]
- Ich habe das Showthread-Template bereits auf Default gesetzt.
- Genauso wie das Postbit_quickdelete-Template.
- Und Im Postbit ist der richtige Platzhalter.
- Ich habe das vollständige MYBB Paket für das Update runtergeladen [hier links].
An der Datei kann es eigentlich nicht liegen. Bei anderen Themes funktioniert es ja auch.
Beiträge: 836
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
18.06.2021, 00:01
(Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2021, 00:01 von [ExiTuS].)
Die Templates sollten in etwa so aussehen, was die nötigen Elemente/Argumente etc betrifft - hier Auszüge aus dem Standard-Theme.
showthread:
Code: <html>
<head>
<title>{$thread['subject']}</title>
{$headerinclude}
<script type="text/javascript">
<!--
var quickdelete_confirm = "{$lang->quickdelete_confirm}";
var quickrestore_confirm = "{$lang->quickrestore_confirm}";
var allowEditReason = "{$mybb->settings['alloweditreason']}";
lang.save_changes = "{$lang->save_changes}";
lang.cancel_edit = "{$lang->cancel_edit}";
lang.quick_edit_update_error = "{$lang->quick_edit_update_error}";
lang.quick_reply_post_error = "{$lang->quick_reply_post_error}";
lang.quick_delete_error = "{$lang->quick_delete_error}";
lang.quick_delete_success = "{$lang->quick_delete_success}";
lang.quick_delete_thread_success = "{$lang->quick_delete_thread_success}";
lang.quick_restore_error = "{$lang->quick_restore_error}";
lang.quick_restore_success = "{$lang->quick_restore_success}";
lang.editreason = "{$lang->postbit_editreason}";
lang.post_deleted_error = "{$lang->post_deleted_error}";
lang.softdelete_thread = "{$lang->soft_delete_thread}";
lang.restore_thread = "{$lang->restore_thread}";
// -->
</script>
<!-- jeditable (jquery) -->
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/report.js?ver=1820"></script>
<script src="{$mybb->asset_url}/jscripts/jeditable/jeditable.min.js"></script>
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/thread.js?ver=1822"></script>
</head>
[...]
postbit:
Code: [...]
{$post['button_quickdelete']}
[...]
postbit_quickdelete:
Code: <a href="editpost.php?pid={$post['pid']}" onclick="Thread.deletePost({$post['pid']}); return false;" id="quick_delete_{$post['pid']}" title="{$postbit_qdelete}" class="postbit_qdelete postbit_mirage"><span>{$lang->postbit_button_qdelete}</span></a>
Mit dieser Konstellation solltest du alles Nötige zusammen haben.
Es reicht im Normalfall folgendes in Templates zwingend zu beachten:
- Nötige Variablen in Templates
- Nötige eingebundene Dateien in Templates (z.B. *.js-Dateien)
- Links zu den korrekten Zielen (*.php; selbsterklärend)
- Argumente: id="" (oft vernachlässigt, wobei sich viel JS auf die Element-ID beziehen)
- Argumente: onclick=""
[ETS]
Beiträge: 2.239
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
(17.06.2021, 22:56)[ExiTuS] schrieb: Die Version der JS-Bibliothek ist ebenfalls abhängig von der MyBB-Version.
[ETS]
Ja natürlich, aber man sollte es mal genauer erklären.
*Klugscheißmodus ein*
Der Vers.-Parameter dient "nur" dafür, dass der Client (Browser) sich auch wirklich die aktuelle Version vom Server holt und nicht die aus dem Browser-Cache benutzt.
Wenn die Cache-Lebenszeit recht hoch ist kann es durch Änderungen in der .js- oder .css-Datei zu Fehlern beim Clienten führen, wenn der Browser keine derartige Anweisung bekommt.
*Klugscheißmodus aus*
Beiträge: 511
Themen: 101
Registriert seit: 07.03.2015
MyBB-Version: 1.8.33
18.06.2021, 12:01
(Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2021, 12:41 von skrilaxrev.)
Spannend, spannend.
@Exitus: Wie im letzten Beitrag gesagt habe ich alle betreffenden Templates auf Default gesetzt (die von dir genannten). Beim Showthread-Template habe ich sogar ebenfalls den Code manuell aus dem Default-Theme per STRG+A hergenommen. Die Variable ist genau so im Template.^^ Nur für dich werde ich aber jedes Template noch einmal durch den Inhalt ersetzen den du hier gepostet hast.
Code: lang.post_deleted_error = "{$lang->post_deleted_error}";
lang.softdelete_thread = "{$lang->soft_delete_thread}";
lang.restore_thread = "{$lang->restore_thread}";
im Übrigen war mir da aufgefallen, dass das gefehlt hatte und ich hatte mich freut, dass es jetzt gleich gehen würde, aber Fehlanzeige. ^^
@Schnapsnase: Und jetzt bitte nochmal auf Deutsch? Möchtest du mir damit sagen, dass ich mal meinen Browser-Cache leeren soll?^^
(18.06.2021, 00:01)[ExiTuS] schrieb: Die Templates sollten in etwa so aussehen, was die nötigen Elemente/Argumente etc betrifft - hier Auszüge aus dem Standard-Theme.
showthread:
Hier mein Header vom Showthread-Template:
Code: <html>
<head>
<title>{$thread['subject']}</title>
{$headerinclude}
<script type="text/javascript">
<!--
var quickdelete_confirm = "{$lang->quickdelete_confirm}";
var quickrestore_confirm = "{$lang->quickrestore_confirm}";
var allowEditReason = "{$mybb->settings['alloweditreason']}";
lang.save_changes = "{$lang->save_changes}";
lang.cancel_edit = "{$lang->cancel_edit}";
lang.quick_edit_update_error = "{$lang->quick_edit_update_error}";
lang.quick_reply_post_error = "{$lang->quick_reply_post_error}";
lang.quick_delete_error = "{$lang->quick_delete_error}";
lang.quick_delete_success = "{$lang->quick_delete_success}";
lang.quick_delete_thread_success = "{$lang->quick_delete_thread_success}";
lang.quick_restore_error = "{$lang->quick_restore_error}";
lang.quick_restore_success = "{$lang->quick_restore_success}";
lang.editreason = "{$lang->postbit_editreason}";
lang.post_deleted_error = "{$lang->post_deleted_error}";
lang.softdelete_thread = "{$lang->soft_delete_thread}";
lang.restore_thread = "{$lang->restore_thread}";
// -->
</script>
<!-- jeditable (jquery) -->
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/report.js?ver=1804"></script>
<script src="{$mybb->asset_url}/jscripts/jeditable/jeditable.min.js"></script>
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/thread.js?ver=1804"></script>
<!-- start: FastQuote -->
<script type="text/javascript" src="jscripts/fastQuote.js"></script>
<script type="text/javascript">
var form_name = '{$mybb->settings['fastQuoteFormName']}';
var text_name = '{$mybb->settings['fastQuoteFieldName']}';
</script>
<!-- end: FastQuote -->
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/thankyoulike.min.js?ver=30309"></script>
<script type="text/javascript">
<!--
var tylEnabled = "{$mybb->settings['g33k_thankyoulike_enabled']}";
var tylDisplayGrowl = "{$mybb->settings['g33k_thankyoulike_displaygrowl']}";
var tylCollapsible = "{$mybb->settings['g33k_thankyoulike_collapsible']}";
var tylCollDefault = "{$mybb->settings['g33k_thankyoulike_colldefault']}";
var tylUser = "{$mybb->user['uid']}";
var tylSend = "{$lang->tyl_send}";
var tylRemove = "{$lang->tyl_remove}";
// -->
</script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/thankyoulike.min.js?ver=30309"></script>
<script type="text/javascript">
<!--
var tylEnabled = "{$mybb->settings['g33k_thankyoulike_enabled']}";
var tylDisplayGrowl = "{$mybb->settings['g33k_thankyoulike_displaygrowl']}";
var tylCollapsible = "{$mybb->settings['g33k_thankyoulike_collapsible']}";
var tylCollDefault = "{$mybb->settings['g33k_thankyoulike_colldefault']}";
var tylUser = "{$mybb->user['uid']}";
var tylSend = "{$lang->tyl_send}";
var tylRemove = "{$lang->tyl_remove}";
// -->
</script>
</head>
(18.06.2021, 00:01)[ExiTuS] schrieb: postbit:
Code: [...]
{$post['button_quickdelete']}
[...]
Der Button wird ja eh angezeigt und er gibt auch garantiert folgendes Template aus:
(18.06.2021, 00:01)[ExiTuS] schrieb: postbit_quickdelete:
Code: <a href="editpost.php?pid={$post['pid']}" onclick="Thread.deletePost({$post['pid']}); return false;" id="quick_delete_{$post['pid']}" title="{$postbit_qdelete}" class="postbit_qdelete postbit_mirage"><span>{$lang->postbit_button_qdelete}</span></a>
Die Browser-Suche markiert mir diese Zeile komplett, was bedeutet, dass sie absolut identisch ist.
Seit zurücksetzen dieses Templates, steht da nur noch "Löschen". Der Button geht, er ist da! Die Funktion will aber nicht.
(18.06.2021, 00:01)[ExiTuS] schrieb: Es reicht im Normalfall folgendes in Templates zwingend zu beachten:
- Nötige Variablen in Templates
- Nötige eingebundene Dateien in Templates (z.B. *.js-Dateien)
- Links zu den korrekten Zielen (*.php; selbsterklärend)
- Argumente: id="" (oft vernachlässigt, wobei sich viel JS auf die Element-ID beziehen)
- Argumente: onclick=""
1. Check
2. Ich weiß nur leider immer noch nicht welche Datei diese Funktion betrifft. Weiß das jemand?
3. Check
4. Check
5. Check
- Showthread-Template nochmal zurückgesetzt (ja, ich bin im richtigen Theme).
- Den Header, Exitus nochmal manuell durch deinen hier geposteten ersetzt.
Keine Veränderung...
Wenn du mir nicht glaubst, Exitus, darfst du dir auch gerne unter new/forumupdate einen Account erstellen und ich gebe dir Admin-Rechte.
Über den Inkognitomodus von Chrome, geht es auch nicht.
Beiträge: 836
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Was Schnapsnase zum Browsercache erklärt hat:
Der Browser speichert beim Seitenaufruf alle möglichen Ressourcen einer Seite (Bilder, JS etc) in den eigenen Zwischenspeicher auf die Festplatte. So kann er beim nächsten Aufruf diese Ressourcen schneller laden, ohne sie erneut herunterladen zu müssen. Bei Änderungen an Dateien muss man sicherstellen, dass diese auch tatsächlich aktualisiert und kein altes Zeug aus dem Cache geladen wird.
Um es dem Browser mitzuteilen, hängt man einfach ein ungefährliches Anhängsel hinten dran, was den Browser zeigen soll, dass es sich hier um eine andere Ressource handelt, die aktualisiert werden soll... z.B. javascript.js?1234
Passend hierzu ein lustiges Zitat:
"Wenn du es verstanden hast, dann habe ich mich nicht undeutlich genug ausgedrückt"
Außerdem beim Webdesign ganz wichtig:
STRG + F5 (Hard-Refresh und eine erzwungene Aktualisierung des Caches für diese Seite)
Probiere das vorher nochmal aus.
Und achte darauf, dass die JS-Dateien ebenfalls auf dem korrekten Stand sind.
Im Zweifel einfach nochmal aus dem Download-Paket fischen und ernuet hochladen.
Wie schon erwähnt, handelt es sich hier im Speziellen um ./jscripts/thread.js
[ETS]
Beiträge: 511
Themen: 101
Registriert seit: 07.03.2015
MyBB-Version: 1.8.33
18.06.2021, 16:37
(Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2021, 16:52 von skrilaxrev.)
Wie im letzten Beitrag geschrieben, habe ich es im Inkognitomodus versucht. Zuvor habe ich gefühlt tausend mal STRG+F5 gedrückt.
./jscripts/thread.js neu hochgeladen, keine Veränderung.
Hätte mich auch gewundert, da es wie gesagt bei anderen Themes funtkioniert!
Alles was ihr angesprochen habt, IST erledigt und es will nicht. Ich bin eher kurz davor Emerald in die Tonne zu hauen, zumal der Ersteller so viele - meiner Ansicht nach - nützliche Elemente rausgelöscht hat. Nur als Beispiel im Postbit etwa "{$post['input_editreason']}", wo ich mir genau das selbe denke wie bei "{$modnotice}". Warum?
Wenn sonst keiner mehr eine Idee hat, habe ich noch 2 Themes in der engeren Auswahl. Alles oben erwähnte BRINGT NICHTS. Erstens habe ich alles probiert, zweitens ergibt manches eh keinen Sinn, wenn es beim Default-Themes funktioniert. Es MUSS am Emerald-Theme liegen, aber alle oben genannten Templates sind auf Standard gesetzt! Solange wir den Grund für diesen Widerspruch nicht finden, fühlt sich hier alles wie die Nadel im Heuhaufen an. Es wäre schön, wenn so Kleinigkeiten wie STRG+F5 drücken der Grund wäre.
Zudem gäbe es hier eine Menge aufzubereiten, solange das Theme nicht geupdatet wurde und ich für meinen Teil bin mir mittlerweile fast sicher, dass das hier nicht lohnt.
Das einzige was mir einfällt ist, dass irgendein Plugin mit dem Theme hakt, weshalb ich nochmal alle ausstellen werde.
Beiträge: 511
Themen: 101
Registriert seit: 07.03.2015
MyBB-Version: 1.8.33
20.06.2021, 17:13
(Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2021, 17:24 von skrilaxrev.)
Headerinclude... Headerinclude, liebe MYBBler... Headerinclude...
Der Lösch-Button geht wieder...
...aber warum Headerinclude?
Sieht in dem Theme so aus:
Code: <link rel="alternate" type="application/rss+xml" title="{$lang->latest_threads} (RSS 2.0)" href="{$mybb->settings['bburl']}/syndication.php" />
<link rel="alternate" type="application/atom+xml" title="{$lang->latest_threads} (Atom 1.0)" href="{$mybb->settings['bburl']}/syndication.php?type=atom1.0" />
<meta http-equiv="Content-Type" content="text/html; charset={$charset}" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/jquery.js?ver=1804"></script>
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/jquery.plugins.min.js?ver=1804"></script>
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/general.js?ver=1804"></script>
<link href='https://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Lobster+Two' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
{$avatarep_script}<script language="javascript" type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/myadvertisements.js"></script>
{$stylesheets}{$sticky_thread}
<script src="{$mybb->settings['bburl']}/jscripts/showreferral.js"></script>
<script type="text/javascript">
lang.unknown_error = "{$lang->unknown_error}";
lang.select2_match = "{$lang->select2_match}";
lang.select2_matches = "{$lang->select2_matches}";
lang.select2_nomatches = "{$lang->select2_nomatches}";
lang.select2_inputtooshort_single = "{$lang->select2_inputtooshort_single}";
lang.select2_inputtooshort_plural = "{$lang->select2_inputtooshort_plural}";
lang.select2_inputtoolong_single = "{$lang->select2_inputtoolong_single}";
lang.select2_inputtoolong_plural = "{$lang->select2_inputtoolong_plural}";
lang.select2_selectiontoobig_single = "{$lang->select2_selectiontoobig_single}";
lang.select2_selectiontoobig_plural = "{$lang->select2_selectiontoobig_plural}";
lang.select2_loadmore = "{$lang->select2_loadmore}";
lang.select2_searching = "{$lang->select2_searching}";
var cookieDomain = "{$mybb->settings['cookiedomain']}";
var cookiePath = "{$mybb->settings['cookiepath']}";
var cookiePrefix = "{$mybb->settings['cookieprefix']}";
var cookieSecureFlag = "{$mybb->settings['cookiesecureflag']}";
var deleteevent_confirm = "{$lang->deleteevent_confirm}";
var removeattach_confirm = "{$lang->removeattach_confirm}";
var loading_text = '{$lang->ajax_loading}';
var saving_changes = '{$lang->saving_changes}';
var use_xmlhttprequest = "{$mybb->settings['use_xmlhttprequest']}";
var my_post_key = "{$mybb->post_code}";
var rootpath = "{$mybb->settings['bburl']}";
var imagepath = "{$theme['imgdir']}";
var yes_confirm = "{$lang->yes}";
var no_confirm = "{$lang->no}";
var MyBBEditor = null;
var spinner_image = "{$theme['imgdir']}/spinner.gif";
var spinner = "<img src='" + spinner_image +"' alt='' />";
var modal_zindex = 9999;
</script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css">
<link href='https://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Noto+Sans:400,700' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700' rel='stylesheet' type='text/css'>
<script>
$(document).ready(function(){
//Check to see if the window is top if not then display button
$(window).scroll(function(){
if ($(this).scrollTop() > 100) {
$('.scrollToTop').fadeIn();
} else {
$('.scrollToTop').fadeOut();
}
});
//Click event to scroll to top
$('.scrollToTop').click(function(){
$('html, body').animate({scrollTop : 0},800);
return false;
});
$('.scrollToDown').click(function(){
$('html, body').animate({scrollTop:$(document).height()},800);
return false;
});
});
</script>{$myalerts_js}
Irgendetwas stört ihn da, sodass der Lösch-Button nicht funktioniert.
Also, an dem Template liegt es! Jetzt pack ich erstmal die Vergleichs-Lupe aus.
Code: var templates = {
modal: '{$jsTemplates['modal']}',
modal_button: '{$jsTemplates['modal_button']}'
};
...fehlte im headerinclude!
ich flipp aus!
Beiträge: 836
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Das war die Fehlerquelle!? Sauber!
Und Gratulation, dass du das schlussendlich herausgefunden hast - eine Erleichterung.
Als Wermutstropfen kann man nun dazusagen, dass du damit sogar mehrere Fehler (die vielleicht noch gar nicht entdeckt worden sind) auf einen Schlag behoben haben könntest, weil diese modal-Funktion sich auch auf weitere Popup-Fenster auswirkt.
Trotz alledem eine Erleichterung. Danke auch für die Rückmeldung.
[ETS]
Beiträge: 511
Themen: 101
Registriert seit: 07.03.2015
MyBB-Version: 1.8.33
20.06.2021, 22:22
(Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2021, 22:27 von skrilaxrev.)
Ja, das war sie. Danke danke. Erleichterung, ja, du sagst es.^^
Ja, das kann gut sein! Die Funktion scheint ja nicht gerade unwichtig, so wie sie sich liest, denn es gibt ja nicht nur 1 Button im Forum. xD
Gerne gerne, möchte hier ja nicht nur Nutznießer sein. =) Danke auch für euer Engagement!
Beiträge: 7.002
Themen: 4.703
Registriert seit: 06.12.2006
Eine neue Version wurde veröffentlicht: Emerald 2.1
|