Elxis CMS Forum
Ελληνικό Forum => Γενικά Θέματα για το Elxis CMS => Topic started by: rentasite on December 03, 2010, 08:03:54
-
το θέμα αφορά το connection.gr όπου ως 1η σελίδα έχω κάποιο eblog item. Έχω φτιάξει ένα custom module, το οποίο έχω ορίσει να εμφανίζετε ΜΟΝΟ στην 1η σελίδα.
Το θέμα είναι, ότι όταν κάποιος πάει να διαβάσει εκτενέστερα ένα άθρο... το module εμφανίζεται και εκεί. Ενώ πρέπει να εμφανίζετε αποκλειστικά στην 1η σελίδα. Πως μπορεί να γίνει κάτι τέτοιο;
-
Θέλεις όταν λες 1η σελίδα να δημοσιεύεται μόνο στο connection.gr ;
-
Νομιζω γιατι με εχει απασχολησει και εμενα σε διαφορετικη περιπτωση και εχω αναγκαστει να φτιαξω παρα πολλα hidden menus..........αυτο προφανως γινετε γιατι τα mod εμφανιζονται σε menu links και επειδη δεν υπαρχει link menu στο item δεν μπορει να κανει αναγωγη...η κατι τετοιο τεσπα και δεν μπορω να το εκφρασω λογω της ωρας ;D
-
Σταύρο: Ε ναι στην 1η σελίδα του connection.gr - ξαναλέω... επειδή η 1η σελίδα είναι eblog item, τότε όταν πατάει να δει τη συνέχεια του άρθρου, ενώ δεν είναι η 1η σελίδα αυτή... το module εμφανιζετε και πάλι.
Μπάμπη: δεν κατάλαβα τι έγραψες ::)
-
To Read More μην ξεχνάς είναι ένα bot ενσωματωμένο στο eBlog component.
Εγώ αυτό που σκεφτόμουν πέρα από τον κώδικα που μάλλον έτσι θα βγει να κάναμε το εξής. :
System Menu --> δημιουργία ενός Link/ URL όπου θα γράψεις χειροκίνητα το connection.gr εκεί και μετά δημοσίευση του module μόνο στο Menu Item αυτό του System Menu.
Να δούμε αν το πάρει έτσι.
Διαφορετικά θέλει πείραγμα με κώδικα!
-
οπως λεει ο σταυρος αλλα μαλλον δεν θα βγει δηλ....
εαν δεν υπαρχει menu item προς το item εμφανιζει ολα τα mods......
παντως επι τη ευκαιρια δεν ξερω ποσο δυσκολο η ευκολο η ασφαλες θα ηταν εαν στις παραμετρους των mods περα απο την αναγωγη του καθε mod σε menu item να υπηρχε και μια παραμετρος στην οποια να γραφεις εσυ το url του item που θες να εμφανιζετε το mod χωρις να υπαρχει menu item
(μην μου πειτε ... το αλλο με τον τοτο το ξερεις ?.....σας λεω οτι το ξερω)
-
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 { }
?>
-
Το θέμα του είναι ότι η αρχική του δεν είναι com_frontpage άλλα com_eblog ;)
Οπότε ακυρώνεται το παρακάτω καθώς επίσης και η διαφορά μεταξύ αρχικής και read more θα διαφέρει το task και όχι το Option!
task=browse // Όλα τα post
task = show // Όταν πατάει για να διαβάσει το Post ο επισκέπτης.
Οπότε άλλη είναι η αλλαγή. Περιμένω επιβεβαίωση για αυτό με το System Menu και επανέρχομαι.
-
Είναι ένα πρόβλημα που συνάντησα κι εγώ... Θα δοκιμάσω μέσω template όπως πρότεινε ο φίλος μου ο Arxos.
-
Στην αρχική σελίδα του 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
}
-
Ακριβώς.! ;)
-
Στην αρχική σελίδα του 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
}
Σε πιο αρχείο κάνουμε αυτές τις αλλαγές;;; Έχω κι εγώ το ίδιο πρόβλημα.
-
index.php του template σου.