Elxis CMS Forum

Ελληνικό Forum => Γενικά Θέματα για το Elxis CMS => Topic started by: rentasite on December 03, 2010, 08:03:54

Title: Εμφάνιση module μόνο στην 1η σελίδα
Post by: rentasite on December 03, 2010, 08:03:54

το θέμα αφορά το connection.gr όπου ως 1η σελίδα έχω κάποιο eblog item. Έχω φτιάξει ένα custom module, το οποίο έχω ορίσει να εμφανίζετε ΜΟΝΟ στην 1η σελίδα.

Το θέμα είναι, ότι όταν κάποιος πάει να διαβάσει εκτενέστερα ένα άθρο... το module εμφανίζεται και εκεί. Ενώ πρέπει να εμφανίζετε αποκλειστικά στην 1η σελίδα. Πως μπορεί να γίνει κάτι τέτοιο;
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: webgift on December 03, 2010, 08:54:36
Θέλεις όταν λες 1η σελίδα να δημοσιεύεται μόνο στο connection.gr ;
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: babis1 on December 03, 2010, 09:05:11
Νομιζω γιατι με εχει απασχολησει και εμενα σε διαφορετικη περιπτωση και εχω αναγκαστει να φτιαξω  παρα πολλα hidden menus..........αυτο προφανως γινετε γιατι τα mod εμφανιζονται σε menu links και επειδη δεν υπαρχει link menu στο item δεν μπορει να κανει αναγωγη...η κατι τετοιο τεσπα και δεν μπορω να το εκφρασω λογω της ωρας  ;D
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: rentasite on December 03, 2010, 09:18:58

Σταύρο: Ε ναι στην 1η σελίδα του connection.gr - ξαναλέω... επειδή η 1η σελίδα είναι eblog item, τότε όταν πατάει να δει τη συνέχεια του άρθρου, ενώ δεν είναι η 1η σελίδα αυτή... το module εμφανιζετε και πάλι.

Μπάμπη: δεν κατάλαβα τι έγραψες  ::)
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: webgift on December 03, 2010, 09:22:46
To Read More μην ξεχνάς είναι ένα bot ενσωματωμένο στο eBlog component.
Εγώ αυτό που σκεφτόμουν πέρα από τον κώδικα που μάλλον έτσι θα βγει να κάναμε το εξής. :
System Menu --> δημιουργία ενός Link/ URL όπου θα γράψεις χειροκίνητα το connection.gr εκεί και μετά δημοσίευση του module μόνο στο Menu Item αυτό του System Menu.
Να δούμε αν το πάρει έτσι.
Διαφορετικά θέλει πείραγμα με κώδικα!
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: babis1 on December 03, 2010, 09:49:42
οπως λεει ο σταυρος αλλα μαλλον δεν θα βγει δηλ....
εαν δεν υπαρχει menu item προς το item εμφανιζει ολα τα mods......
παντως επι τη ευκαιρια δεν ξερω ποσο δυσκολο η ευκολο η ασφαλες θα ηταν εαν στις παραμετρους των mods περα απο την αναγωγη του καθε mod σε menu item να υπηρχε και μια παραμετρος στην οποια να γραφεις εσυ το url του item που θες να εμφανιζετε το mod χωρις να υπαρχει menu item

(μην μου πειτε ... το αλλο με τον τοτο το ξερεις ?.....σας λεω οτι το ξερω)
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: ArXoS on December 03, 2010, 15:34:42
supernet, καταλαβαίνω απόλυτα αυτό που λες, είχα κι εγώ αυτό το πρόβλημα στο greekmasa.gr (το βιβλίο της αρχικής σελίδας με τα mod_latestitems εμφανίζονταν και σε άσχετα μέρη, και ας είχε οριστεί να εμφανίζεται μόνο στην αρχή)

Το διόρθωσα μέσα από template. Έφτιαξα μια θέση module και την έκλεισα έτσι


 <?php   
if (($option == 'com_frontpage') || ($option == '')) {
?>
<div class="custom_module"><?php mosLoadModules('custom_module', -2); ?></div>
<?php
}
else  { }
?>
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: webgift on December 03, 2010, 16:29:49
Το θέμα του είναι ότι η αρχική του δεν είναι com_frontpage άλλα com_eblog ;)
Οπότε ακυρώνεται το παρακάτω καθώς επίσης και η διαφορά μεταξύ αρχικής και read more θα διαφέρει το task και όχι το Option!
task=browse // Όλα τα post
task = show // Όταν πατάει για να διαβάσει το Post ο επισκέπτης.
Οπότε άλλη είναι η αλλαγή. Περιμένω επιβεβαίωση για αυτό με το System Menu και επανέρχομαι.
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: Dimitris Kanatas on December 03, 2010, 19:20:28
Είναι ένα πρόβλημα που συνάντησα κι εγώ... Θα δοκιμάσω μέσω template όπως πρότεινε ο φίλος μου ο Arxos.
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: datahell on December 03, 2010, 20:45:50
Στην αρχική σελίδα του eblog που εμφανίζει λίστα των διαθέσιμων eblogs χρηστών το $task είναι "list" ή κενό.

global $option, $task;
if (($option == '') || ($option == 'com_eblog')) {
    if (($task == 'list') || ($task == '')) {
        //arxikh selida component eblog
    }
}

Αν θέλετε να εμφανίζεται στην αρχική σελίδα κάποιου συγκεκριμένου eblog τότε στο παραπάνω το $task θα πρέπει να είναι "browse". Άρα ο κώδικας θα πρέπει να αλλάξει σε:

global $option, $task;
if (($option == '') || ($option == 'com_eblog')) {
    if ($task == 'browse') {
        //arxikh selida όλων των eblog
    }
}

Τον έλεγχο $option == '' τον βάζω για όσους έχουν το eblog ως αρχική σελίδα του site.

Αν έχετε πολλά eblogs και θέλετε να εμφανίσετε το Module μόνο στην αρχική σελίδα ενός από αυτά θα πρέπει να ελέγξετε και το "id" του eblog:

$id = (int)mosGetParam($_REQUEST, 'id', 0);
if ($id == 3) {
    //emfanise to module mono an blepo to eblog me id = 3
}
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: webgift on December 03, 2010, 21:07:31
Ακριβώς.! ;)
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: cardinal 22 on March 21, 2011, 15:57:12
Στην αρχική σελίδα του eblog που εμφανίζει λίστα των διαθέσιμων eblogs χρηστών το $task είναι "list" ή κενό.

global $option, $task;
if (($option == '') || ($option == 'com_eblog')) {
    if (($task == 'list') || ($task == '')) {
        //arxikh selida component eblog
    }
}

Αν θέλετε να εμφανίζεται στην αρχική σελίδα κάποιου συγκεκριμένου eblog τότε στο παραπάνω το $task θα πρέπει να είναι "browse". Άρα ο κώδικας θα πρέπει να αλλάξει σε:

global $option, $task;
if (($option == '') || ($option == 'com_eblog')) {
    if ($task == 'browse') {
        //arxikh selida όλων των eblog
    }
}

Τον έλεγχο $option == '' τον βάζω για όσους έχουν το eblog ως αρχική σελίδα του site.

Αν έχετε πολλά eblogs και θέλετε να εμφανίσετε το Module μόνο στην αρχική σελίδα ενός από αυτά θα πρέπει να ελέγξετε και το "id" του eblog:

$id = (int)mosGetParam($_REQUEST, 'id', 0);
if ($id == 3) {
    //emfanise to module mono an blepo to eblog me id = 3
}

Σε πιο αρχείο κάνουμε αυτές τις αλλαγές;;;  Έχω κι εγώ το ίδιο πρόβλημα.
Title: Re: Εμφάνιση module μόνο στην 1η σελίδα
Post by: webgift on March 21, 2011, 16:21:14
index.php του template σου.