Σελιδοποίηση στη Mobile Έκδοση

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω

Σελιδοποίηση στη Mobile Έκδοση

Δημοσίευση από Nemo Την / Το Πεμ Μαρ 19, 2015 10:18 pm

Σελιδοποίηση στη Mobile έκδοση


Αυτός ο οδηγός θα σας δείξει πώς να προσθέσετε μία σελιδοποίηση στα θέματα της έκδοσης κινητών. 



Το προτεινόμενο script προσθέτει:

  • ένα κουμπί για την αρχή και ένα για το τέλος
  • μία λίστα από σελίδες στις οποίες μπορείτε να μετακινηθείτε μέσω των βελών


Τι πρέπει να γίνει

Πίνακας Διαχείρισης ► Λειτουργικές Μονάδες ► HTML & JAVASCRIPT ► Διαχείριση κωδικών Javascript ►
Βεβαιωθείτε πως η διαχείριση των κωδικών Javascript είναι ενεργοποιημένη.

Title: Ό,τι επιθυμείτε
Placement: In the topics
Javascript Code:

Κώδικας:
$(function() {
  var perpage = 15, // amount of messages before a new page is added
  p = document.getElementsByTagName('P'), l = window.location.pathname, current, last, tid = l.replace(/\/t(\d+).*/,'$1'), tname = l.replace(/(\/t\d+|\/t\d+p\d+)(-.*)/,'$2'), style = document.createElement('STYLE'), css = '.pagi {height:auto;color:#FFF;position:static;margin:2px}.pagactif{color:#FF8;cursor:default}.scroller{position:absolute;width:18px;height:28px;cursor:pointer}.left.scroller{background:url(http://illiweb.com/fa/mobile/inner-left-arrow.png) no-repeat center #444;left:65px}.right.scroller{background:url(http://illiweb.com/fa/mobile/inner-right-arrow.png) no-repeat center #444;right:65px}', i,j;

  if (typeof _userdata.page_desktop === 'undefined') return;
  style.type = 'text/css';
  if (style.styleSheet) style.styleSheet.cssText = css;
  else style.appendChild(document.createTextNode(css));
  document.getElementsByTagName('HEAD')[0].appendChild(style);
 
  for (i=0; i<p.length; i++) {
    if (/mobile_title_content/.test(p[i].className)) {
      current = Number(p[i].innerHTML.replace(/^\w+ <strong>(\d+)<\/strong> \w+ <strong>\d+<\/strong>/i,'$1'));
      last = Number(p[i].innerHTML.replace(/^\w+ <strong>\d+<\/strong> \w+ <strong>(\d+)<\/strong>/i,'$1'));
    }
  }

  if (last >= current) {
    var b = document.getElementsByTagName('DIV'), title = document.createElement('DIV'), cen = document.createElement('DIV'), left = document.createElement('DIV'), right = document.createElement('DIV'), c = 1, d = 0;
    title.className = 'mobile_title', left.className = 'left scroller', right.className = 'right scroller', cen.className = 'mobile_title_content', cen.setAttribute('style','left:85px;right:85px;text-overflow:clip;line-height:26px;');
    for (j=0; j<b.length; j++) if (/mobile_title/.test(b[j].className)) if (/\d+/.test(b[j].nextSibling.id) || /poll/.test(b[j].nextSibling.className)) b[j].parentNode.insertBefore(title,b[j].nextSibling);
    title.appendChild(cen), title.appendChild(left), title.appendChild(right);
  
    left.onmousedown = function() { cen.scrollLeft -= 100 };
    right.onmousedown = function() { cen.scrollLeft += 100 };

    while (d < 2) {
      if (d == 0 && current > 1) newPage('mobile_prev_button block', '<p>First</p>', '/t' + tid + tname, title);
      else if (d == 1 && current != last) newPage('mobile_next_button block', '<p>Last</p>', '/t' + tid + 'p' + Number(perpage * last - perpage) + tname, title);
      d += 1;
    } while (last + 1 > c) {
      if (c == current) newPage('mobile_next_button block pagi pagactif', c, 'javascript:void(0);', cen, 'currentPage');
      else newPage('mobile_next_button block pagi', c, '/t' + tid + 'p' + Number(perpage * c - perpage) + tname, cen);
      c += 1;
    }
    cen.scrollLeft = document.getElementById('currentPage').offsetLeft;
  }
  function newPage(classname, html, href, par, id) {var page = document.createElement('A'); page.className = classname, page.innerHTML = html, page.href = href, par.appendChild(page); if (id) page.id = id}
});
Για επικύρωση: και είσαστε έτοιμοι.

Τροποποιήσεις:

Για να λειτουργήσει σωστά η σελιδοποίηση πρέπει να κάνετε μία τροποποίηση.

Στο script υπάρχει η μεταβλητή perpage με τιμή 15. Πρέπει να αλλάξετε την τιμή για την ποσότητα των μηνυμάτων που επιτρέπονται σε μια σελίδα. Για να βρείτε αυτές τις πληροφορίες, πρέπει να πάτε: Πίνακας Διαχείρισης ► Γενική Διαχείριση ► Μηνύματα και e-mail ► Ρυθμίσεις και βρείτε Δημοσιεύσεις ανά Σελίδα :



Αν είναι ήδη ρυθμισμένο στο 15, τότε δεν χρειάζεται να αλλάξετε το νούμερο. Αλλιώς, θα πρέπει να το αλλάξετε σε όποια τιμή έχετε προσθέσει στις ρυθμίσεις, όπως βρίσκεται στο παρακάτω παράδειγμα:

Κώδικας:
  var perpage = 5, // amount of messages before a new page is added

Μόλις τελειώσετε, αποθηκεύστε το script και θα έχετε μία σελιδοποίηση για τη mobile έκδοση.

Exclamation Προσοχή: Η λειτουργικότητα μπορεί να διαφέρει για παλαιότερες συσκευές.

Ο οδηγός γράφτηκε από Ange Tuteur του Αγγλικού Φόρουμ Υποστήριξης και μεταφράστηκε στα Ελληνικά από Nemo.
avatar

Nemo
Υπεύθυνος Φόρουμ
Υπεύθυνος Φόρουμ

Άντρας
Τόπος : Αθήνα, Ελλάδα
Δημοσιεύσεις : 1204

Nemo ο/η συγγραφέας σας ευχαριστήσε για την απάντησή σας.

Απ: Σελιδοποίηση στη Mobile Έκδοση

Δημοσίευση από Nemo Την / Το Δευ Ιουν 20, 2016 10:48 pm

Με την μοντέρνα μορφή της καινούριας έκδοσης κινητών ενεργοποιείται αυτόματα η σελιδοποίηση.

Hello
avatar

Nemo
Υπεύθυνος Φόρουμ
Υπεύθυνος Φόρουμ

Άντρας
Τόπος : Αθήνα, Ελλάδα
Δημοσιεύσεις : 1204

Nemo ο/η συγγραφέας σας ευχαριστήσε για την απάντησή σας.

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Επιστροφή στην κορυφή

- Παρόμοια θέματα

Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης