Δυστυχώς, η έκδοση κινητών δεν περιλαμβάνει 3 σημαντικά κουμπιά: Αποσπασμα, Επεξεργασία, Διαγραφή. Αυτός ο οδηγός θα σας βοηθήσει να τα εγκαταστήσετε στο φόρουμ σας, ώστε να εμφανίζονται και στην έκδοση κινητών.
Προσοχή: Για να κάνετε αυτή τη τροποποίηση, θα πρέπει να είστε ο δημιουργός του φόρουμ για να μπορείτε να επεξεργάσετε τα πρότυπα.
Τροποποίηση του viewtopic_body προτύπου Για να κάνετε αυτή τη τροποποίηση, πηγαίντε στον Πίνακας Διαχείρισης ► Εμφάνιση ► Πρότυπα ► Έκδοση κινητών και επεξεργαστείτε το πρότυπο viewtopic_body .
Αν δεν έχετε τροποποιήσει καθόλου αυτό το πρότυπο, ακολουθήστε την Τροποποίηση Α, αλλιώς ακολουθήστε την Τροποποίηση Β.
Τροποποίηση Α
Αυτή η τροποποίηση πρέπει να ακολουθηθεί μονάχα αν δεν έχετε τροποποιήσει καθόλου αυτό το πρότυπο. Αντικαταστήστε όλο το περιεχόμενο του προτύπου με αυτό:
- Κώδικας:
<style type="text/css">.mobile-actions{float:right;padding-top:3px} .mobile-actions li{float:left;list-style:none} #mobile_editor {text-align:center} #text_box {padding:6px 5%} #mobile_editor textarea {width:100%;height:100px} #post_status {color:#000;background:#FFF;border:1px solid #2F6BC2;border-left-width:4px;margin:4px auto;padding:4px;width:90%} #post_status.post_progress {background-color:#FFE;border-color:#990} #post_status.post_done {background-color:#EFE;border-color:#090} #post_status.post_fail {background-color:#FEE;border-color:#C33}</style> <script type="text/javascript"> //<![CDATA[ var hiddenMsgLabel = { visible:'{JS_HIDE_HIDDEN_MESSAGE}', hidden:'{JS_SHOW_HIDDEN_MESSAGE}' }; showHiddenMessage = function(id) { try { var regId = parseInt(id, 10); if( isNaN(regId) ) { regId = 0; } if( regId > 0) { $('.post--' + id).toggle(0, function() { if( $(this).is(":visible") ) { $('#hidden-title--' + id).html(hiddenMsgLabel.visible); } else { $('#hidden-title--' + id).html(hiddenMsgLabel.hidden); } }); } } catch(e) { } return false; };
//]]> </script>
<!-- BEGIN topicpagination --> {PAGINATION} <!-- END topicpagination --> {POLL_DISPLAY}
<!-- BEGIN postrow --> <div id="{postrow.U_POST_ID}"> <!-- BEGIN hidden --> <div class="post {postrow.hidden.ROW_CLASS}" style="{postrow.displayed.DISPLAYABLE_STATE}"> <p style="text-align:center">{postrow.hidden.MESSAGE}</p> </div> <!-- END hidden --> <!-- BEGIN displayed --> <div id="p{postrow.displayed.U_POST_ID}" class="style2 post {postrow.displayed.ROW_COUNT}{postrow.displayed.ONLINE_IMG_NEW} post--{postrow.displayed.U_POST_ID}" style="{postrow.displayed.DISPLAYABLE_STATE}"> <div class="postbody"> <div class="post_header">{L_TOPIC_BY} {postrow.displayed.POSTER_NAME} {postrow.displayed.POST_DATE_NEW}</div> <ul class="mobile-actions"> <li>{postrow.displayed.QUOTE_IMG}</li> <li>{postrow.displayed.EDIT_IMG}</li> <li>{postrow.displayed.DELETE_IMG}</li> </ul> <br class="clear"/> <div class="content"> <div>{postrow.displayed.MESSAGE}</div> <!-- BEGIN switch_attachments --> <div class="attachbox"> <p class="title">{postrow.displayed.switch_attachments.L_ATTACHMENTS}</p> <dl class="attachments"> <!-- BEGIN switch_post_attachments --> <dt> <!-- BEGIN switch_dl_att --> <a class="postlink" href="{postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.U_ATTACHMENT}">{postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.ATTACHMENT}</a> {postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.ATTACHMENT_DEL} <!-- END switch_dl_att --> <!-- BEGIN switch_no_dl_att --> {postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.ATTACHMENT} {postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.ATTACHMENT_DEL} <!-- END switch_no_dl_att --> </dt> <dd> <!-- BEGIN switch_no_comment --> <p>{postrow.displayed.switch_attachments.switch_post_attachments.switch_no_comment.ATTACHMENT_COMMENT}</p> <!-- END switch_no_comment --> <!-- BEGIN switch_no_dl_att --> <p><strong>{postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.TEXT_NO_DL}</strong></p> <!-- END switch_no_dl_att --> <p>(<span class="ltr">{postrow.displayed.switch_attachments.switch_post_attachments.FILE_SIZE}</span>) {postrow.displayed.switch_attachments.switch_post_attachments.NB_DL}</p> </dd> <!-- END switch_post_attachments --> </dl> </div> <!-- END switch_attachments --> </div> {postrow.displayed.EDITED_MESSAGE} </div> </div> <!-- BEGIN first_post_br --> <hr id="first-post-br" /> <!-- END first_post_br --> <!-- END displayed --> </div> <!-- END postrow --> <!-- BEGIN topicpagination --> {PAGINATION} <!-- END topicpagination --> {INLINE_MESSAGE} {QUICK_REPLY_FORM}
<script type="text/javascript">//<![CDATA[ (function() { 'ForumActif Mobile Actions'; window.$FAMA = { lang : { title_reply : '<b>Δημοσιεύστε μία απάντηση</b>', title_edit : '<b>Επεξεργαστείτε μία δημοσίευση</b>', status_progress : 'Στέλνεται, περιμένετε...', status_done : function(url) { return 'Το μήνυμα έχει υποβληθεί επιτυχώς. Παρακαλούμε <a href="' + url + '">πατήστε εδώ</a> αν δεν ανακατευθύνεστε.' }, status_fail : 'Ένα σφάλμα έχει προκύψει, παρακαλούμε να δοκιμάσετε ξανά αργότερα.', delete_warning : 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το μήνυμα;', delete_done : 'Το μήνυμα έχει διαγραφεί επιτυχώς.', delete_fail : 'Το μήνυμα δεν μπορεί να διαγραφεί, παρακαλούμε να δοκιμάσετε ξανά αργότερα.', textarea_placeholder : 'Περιεχόμενο μηνύματος', button_submit : 'Υποβολή' }, node : null, id : window.location.href.replace(/.*?\/t(\d+).*/, '$1'), store : new Object(), create : function(node, href) { var form = document.createElement('form'); form.action = '/post'; form.method = 'post'; form.name = 'post'; form.id = 'mobile_editor'; form.innerHTML = '<div id="editor_title" class="post_header"></div><div id="text_box"><textarea placeholder="' + $FAMA.lang.textarea_placeholder + '" name="message"></textarea></div><div><input type="submit" value="' + $FAMA.lang.button_submit + '" name="post" class="defaultBtn"/><div id="post_status" style="display:none"></div></div><div id="mobile_data"></div>'; form.onsubmit = function(e) { var t = this, data = $(t).serialize() + '&post=1', status = document.getElementById('post_status'); t.post.style.display = 'none'; status.style.display = 'block'; status.className = 'post_progress'; status.innerHTML = $FAMA.lang.status_progress; e.preventDefault(); $.post('/post', data, function(d) { var redir = d.match(/.*content="\d;url=(.*?)".*/i, '$1'), url = redir[1] ? redir[1].replace(/&/g, '&') : window.location.pathname + (/mode=reply/.test(data) ? '?view=newest' : ''); status.className = 'post_done'; status.innerHTML = $FAMA.lang.status_done(url); window.setTimeout(function() { window.location.href = url; }, 1500); }).fail(function() { status.className = 'post_fail'; status.innerHTML = $FAMA.lang.status_fail; t.post.style.display = ''; }); }; $FAMA.node = form; $FAMA.change(node, href); }, change : function(node, href) { node.appendChild($FAMA.node); if ($FAMA.node.mode) { var oldid = document.getElementById('old_post_id'); if ($FAMA.node.mode.value == 'reply' && oldid) { if (!$FAMA.store['post_' + oldid.value]) $FAMA.store['post_' + oldid.value] = new Object(); $FAMA.store['post_' + oldid.value].reply = $FAMA.node.message.value; } else if ($FAMA.node.mode.value == 'editpost' && $FAMA.node.p) { if (!$FAMA.store['post_' + $FAMA.node.p.value]) $FAMA.store['post_' + $FAMA.node.p.value] = new Object(); $FAMA.store['post_' + $FAMA.node.p.value].editpost = $FAMA.node.message.value; } } $FAMA.node.message.value = ''; var mode = href.replace(/.*?mode=(.*)/, '$1'), pid = href.replace(/.*?p=(\d+).*/, '$1'), data = document.getElementById('mobile_data'), title = document.getElementById('editor_title'); if (mode == 'quote') { if ($FAMA.store['post_' + pid] && $FAMA.store['post_' + pid].reply) $FAMA.node.message.value = $FAMA.store['post_' + pid].reply; title.innerHTML = $FAMA.lang.title_reply; data.innerHTML = '<input id="old_post_id" type="hidden" value="' + pid + '"/><input type="hidden" name="mode" value="reply"/><input type="hidden" name="t" value="' + $FAMA.id + '"/>'; } else { if ($FAMA.store['post_' + pid] && $FAMA.store['post_' + pid].editpost) $FAMA.node.message.value = $FAMA.store['post_' + pid].editpost; title.innerHTML = $FAMA.lang.title_edit; data.innerHTML = '<input type="hidden" name="mode" value="editpost"/><input type="hidden" name="p" value="' + pid + '"/>'; }
$.get(href, function(d) { $('input[name="auth[]"]', d).appendTo(data); if (!$FAMA.node.message.value) $FAMA.node.message.value = $('#text_editor_textarea', d)[0].value; }); } }; for (var a = document.getElementsByTagName('A'), i = 0, j = a.length; i < j; i++) { if (/mobile-actions/.test(a[i].parentNode.parentNode.className)) { if (/mode=(?:quote|editpost)/.test(a[i].href)) { a[i].onclick = function(e) { var node = this.parentNode.parentNode.parentNode, href = this.href; e.preventDefault(); $FAMA.node ? $FAMA.change(node, href) : $FAMA.create(node, href); }; } else if (/mode=delete/.test(a[i].href)) { a[i].onclick = function(e) { var del = confirm($FAMA.lang.delete_warning);
if (del) { $.post('/post', 'p=' + this.href.replace(/.*?p=(\d+).*/, '$1') + '&mode=delete&confirm=1', function(d) { alert($FAMA.lang.delete_done); window.location.reload(); }).fail(function() { alert($FAMA.lang.delete_fail); }); } e.preventDefault(); }; } } } })(); //]]></script>
Θυμηθείτε να υποβάλετε το πρότυπο και να το δημοσιεύσετε.
Τροποποίηση Β
Αυτή η τροποποίηση πρέπει να ακολουθηθεί αν έχετε επεξεργαστεί το πρότυπο αυτό. Παρακαλούμε να ακολουθήσετε τα παρακάτω βήματα.
Βήμα 1: Επικολλήστε τον παρακάτω κώδικα στην κορυφή του προτύπου:
- Κώδικας:
<style type="text/css">.mobile-actions{float:right;padding-top:3px} .mobile-actions li{float:left;list-style:none} #mobile_editor {text-align:center} #text_box {padding:6px 5%} #mobile_editor textarea {width:100%;height:100px} #post_status {color:#000;background:#FFF;border:1px solid #2F6BC2;border-left-width:4px;margin:4px auto;padding:4px;width:90%} #post_status.post_progress {background-color:#FFE;border-color:#990} #post_status.post_done {background-color:#EFE;border-color:#090} #post_status.post_fail {background-color:#FEE;border-color:#C33}</style>
Βήμα 2: Βρείτε τον παρακάτω κώδικα:
- Κώδικας:
<div class="post_header">{L_TOPIC_BY} {postrow.displayed.POSTER_NAME} {postrow.displayed.POST_DATE_NEW}</div>
και επικολλήστε τον παρακάτω κώδικα ακριβώς κάτω από τον παραπάνω κώδικα:
- Κώδικας:
<ul class="mobile-actions"> <li>{postrow.displayed.QUOTE_IMG}</li> <li>{postrow.displayed.EDIT_IMG}</li> <li>{postrow.displayed.DELETE_IMG}</li> </ul>
Βήμα 3: Επικολλήστε στο τέλος του προτύπου τον παρακάτω κώδικα:
- Κώδικας:
<script type="text/javascript">//<![CDATA[ (function() { 'ForumActif Mobile Actions'; window.$FAMA = {
lang : { title_reply : '<b>Δημοσιεύστε μία απάντηση</b>', title_edit : '<b>Επεξεργαστείτε μία δημοσίευση</b>', status_progress : 'Στέλνεται, περιμένετε...', status_done : function(url) { return 'Το μήνυμα έχει υποβληθεί επιτυχώς. Παρακαλούμε <a href="' + url + '">πατήστε εδώ</a> αν δεν ανακατευθύνεστε.' }, status_fail : 'Ένα σφάλμα έχει προκύψει, παρακαλούμε να δοκιμάσετε ξανά αργότερα.', delete_warning : 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το μήνυμα;', delete_done : 'Το μήνυμα έχει διαγραφεί επιτυχώς.', delete_fail : 'Το μήνυμα δεν μπορεί να διαγραφεί, παρακαλούμε να δοκιμάσετε ξανά αργότερα.', textarea_placeholder : 'Περιεχόμενο μηνύματος', button_submit : 'Υποβολή' },
node : null, id : window.location.href.replace(/.*?\/t(\d+).*/, '$1'), store : new Object(), create : function(node, href) { var form = document.createElement('form'); form.action = '/post'; form.method = 'post'; form.name = 'post'; form.id = 'mobile_editor'; form.innerHTML = '<div id="editor_title" class="post_header"></div><div id="text_box"><textarea placeholder="' + $FAMA.lang.textarea_placeholder + '" name="message"></textarea></div><div><input type="submit" value="' + $FAMA.lang.button_submit + '" name="post" class="defaultBtn"/><div id="post_status" style="display:none"></div></div><div id="mobile_data"></div>'; form.onsubmit = function(e) { var t = this, data = $(t).serialize() + '&post=1', status = document.getElementById('post_status'); t.post.style.display = 'none'; status.style.display = 'block'; status.className = 'post_progress'; status.innerHTML = $FAMA.lang.status_progress; e.preventDefault(); $.post('/post', data, function(d) { var redir = d.match(/.*content="\d;url=(.*?)".*/i, '$1'), url = redir[1] ? redir[1].replace(/&/g, '&') : window.location.pathname + (/mode=reply/.test(data) ? '?view=newest' : ''); status.className = 'post_done'; status.innerHTML = $FAMA.lang.status_done(url); window.setTimeout(function() { window.location.href = url; }, 1500); }).fail(function() { status.className = 'post_fail'; status.innerHTML = $FAMA.lang.status_fail; t.post.style.display = ''; }); }; $FAMA.node = form; $FAMA.change(node, href); }, change : function(node, href) { node.appendChild($FAMA.node); if ($FAMA.node.mode) { var oldid = document.getElementById('old_post_id'); if ($FAMA.node.mode.value == 'reply' && oldid) { if (!$FAMA.store['post_' + oldid.value]) $FAMA.store['post_' + oldid.value] = new Object(); $FAMA.store['post_' + oldid.value].reply = $FAMA.node.message.value; } else if ($FAMA.node.mode.value == 'editpost' && $FAMA.node.p) { if (!$FAMA.store['post_' + $FAMA.node.p.value]) $FAMA.store['post_' + $FAMA.node.p.value] = new Object(); $FAMA.store['post_' + $FAMA.node.p.value].editpost = $FAMA.node.message.value; } } $FAMA.node.message.value = ''; var mode = href.replace(/.*?mode=(.*)/, '$1'), pid = href.replace(/.*?p=(\d+).*/, '$1'), data = document.getElementById('mobile_data'), title = document.getElementById('editor_title'); if (mode == 'quote') { if ($FAMA.store['post_' + pid] && $FAMA.store['post_' + pid].reply) $FAMA.node.message.value = $FAMA.store['post_' + pid].reply; title.innerHTML = $FAMA.lang.title_reply; data.innerHTML = '<input id="old_post_id" type="hidden" value="' + pid + '"/><input type="hidden" name="mode" value="reply"/><input type="hidden" name="t" value="' + $FAMA.id + '"/>'; } else { if ($FAMA.store['post_' + pid] && $FAMA.store['post_' + pid].editpost) $FAMA.node.message.value = $FAMA.store['post_' + pid].editpost; title.innerHTML = $FAMA.lang.title_edit; data.innerHTML = '<input type="hidden" name="mode" value="editpost"/><input type="hidden" name="p" value="' + pid + '"/>'; }
$.get(href, function(d) { $('input[name="auth[]"]', d).appendTo(data); if (!$FAMA.node.message.value) $FAMA.node.message.value = $('#text_editor_textarea', d)[0].value; }); } }; for (var a = document.getElementsByTagName('A'), i = 0, j = a.length; i < j; i++) { if (/mobile-actions/.test(a[i].parentNode.parentNode.className)) { if (/mode=(?:quote|editpost)/.test(a[i].href)) { a[i].onclick = function(e) { var node = this.parentNode.parentNode.parentNode, href = this.href; e.preventDefault(); $FAMA.node ? $FAMA.change(node, href) : $FAMA.create(node, href); }; } else if (/mode=delete/.test(a[i].href)) { a[i].onclick = function(e) { var del = confirm($FAMA.lang.delete_warning);
if (del) { $.post('/post', 'p=' + this.href.replace(/.*?p=(\d+).*/, '$1') + '&mode=delete&confirm=1', function(d) { alert($FAMA.lang.delete_done); window.location.reload(); }).fail(function() { alert($FAMA.lang.delete_fail); }); } e.preventDefault(); }; } } } })(); //]]></script>
Θυμηθείτε να υποβάλετε το πρότυπο και να το δημοσιεύσετε.
Τροποποίηση Γλώσσας Αν επιθυμείτε να κάνετε οποιαδήποτε τροποποίηση σε κάποιο κείμενο, βρείτε το lang ακριβώς κάτω από το $FAMA στο viewtopic_body πρότυπο της έκδοσης κινητών. Αυτό περιέχει όλο το κείμενο που χρησιμοποιείται σε κάθε ενέργεια και μπορείτε να το επεξεργαστείτε για να αλλάξετε ή μεταφράσετε οποιαδήποτε πρόταση. Δείχνει κάπως έτσι:
- Κώδικας:
lang : { title_reply : '<b>Δημοσιεύστε μία απάντηση</b>', title_edit : '<b>Επεξεργαστείτε μία δημοσίευση</b>', status_progress : 'Στέλνεται, περιμένετε...', status_done : function(url) { return 'Το μήνυμα έχει υποβληθεί επιτυχώς. Παρακαλούμε <a href="' + url + '">πατήστε εδώ</a> αν δεν ανακατευθύνεστε.' }, status_fail : 'Ένα σφάλμα έχει προκύψει, παρακαλούμε να δοκιμάσετε ξανά αργότερα.', delete_warning : 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το μήνυμα;', delete_done : 'Το μήνυμα έχει διαγραφεί επιτυχώς.', delete_fail : 'Το μήνυμα δεν μπορεί να διαγραφεί, παρακαλούμε να δοκιμάσετε ξανά αργότερα.', textarea_placeholder : 'Περιεχόμενο μηνύματος', button_submit : 'Υποβολή' },
Στην αριστερή στήλη (πχ button_submit) είναι τα alias που δεν πρέπει να τροποποιηθούν. Αυτό που θέλετε να αλλάξετε βρίσκεται στη δεξιά στήλη ανάμεσα στις αποστρόφους. Αν επιθυμείτε, για παράδειγμα, να αλλάξετε τη λέξη Υποβολή σε Δημοσίευση, το μόνο που έχετε να κάνετε είναι να τροποποιήσετε την ετικέτα button_submit ώστε να δείχνει κάπως έτσι:
- Κώδικας:
button_submit : 'Δημοσίευση'
Μετά θα πρέπει πάλι να αποθηκεύσετε το πρότυπο και να το δημοσιεύσετε.
Επίλογος Μόλις ολοκληρώσετε αυτή τη διαδικασία, θα μπορείτε να δείτε στην έκδοση κινητών τα τρία κουμπιά. Πατώντας στο Απόσπασμα και στην Επεξεργασία ανοίγει ένας editor ακριβώς κάτω από τη δημοσίευση. Το κουμπί Διαγραφή απλώς ανοίγει ένα παράθυρο επιβεβαίωσης.
|