Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Joomla! forum. Joomla! Questions and Answers.

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Cmg__
Δημοσιεύσεις: 1710
Εγγραφή: 29 Μαρ 2005 22:40

Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Δημοσίευση από Cmg__ » 04 Μάιος 2010 03:59

Γεια σας

Θέλω το default οριζόντιο main menu να έχει κουμπιά εικόνες και όχι κείμενο. Όταν βάζω στις Παραμέτρους να εμφανίζεται μία εικόνα, φαίνεται cropped στο κέντρο του κουμπιού και απο πάνω έχει το ονομα του κουμπιού σε κειμενο. Όταν πατάω να μην φαινεται ο τίτλος εξαφανίζεται και αλλάζει σειρά το κουμπί.

Δοκίμασα πολλά απο τα mods εδώ: http://extensions.joomla.org/extensions ... mage-menus αλλα είτε αναφέρονται στο το καθετο μενού right/left είτε είναι Modules που δημιουργούν μενού. Εγώ θέλω να αντικαταστήσω τα υπάρχοντα κουμπιά με εικόνες χωρις καθόλου κείμενο.

Έχω αγορασμένο template απο καλό site.

Ευχαριστώ προκαταβολικά

Άβαταρ μέλους
unik
Δημοσιεύσεις: 60
Εγγραφή: 11 Απρ 2008 18:05
Τοποθεσία: Θεσσαλονίκη

Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Δημοσίευση από unik » 10 Μάιος 2010 09:01

Στο σημείο που είσαι μάλλον πρέπει να το δεις μέσα από τα css του template σου.
Αν και το ότι είναι από "καλό" site μπορεί να το κάνει αυτό δυσκολότερο.

Μα και συ αγόρασες template για να κάνεις τέτοιες customies μετά?

Αν έδινες link από το template που χρησιμοποιείς ή ακόμα καλύτερα από την εγκατάσταση σου ίσως να μπορούσες να βρεις πιο εύκολα βοήθεια...

Cmg__
Δημοσιεύσεις: 1710
Εγγραφή: 29 Μαρ 2005 22:40

Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Δημοσίευση από Cmg__ » 10 Μάιος 2010 19:21

Πρώτα απ'όλα thanks για την απάντηση unic :D :D 8)
unik έγραψε:Στο σημείο που είσαι μάλλον πρέπει να το δεις μέσα από τα css του template σου.
Αυτή τη στιγμή έχω "//άρει" τα css που έχω παρακάτω και καταφερα να βγάλω το πλαίσιο και τα άλλα κουμπιά εκτός απο το home. Έχω επίσης ένα μόδιουλ για icon menu που μου έκανε ακριβώς, απο κάτω οριζόντια, απλά δεν ξέρω πώς να το συνδέσω με το Home, ή απλα να κρύψω το home του stadar menu και ύστερα να το στέλνω με external link στο home απο το κουμπί του module αυτού. Επισυνάπτω σε jpg το πως είναι τώρα τα μενου στο site.
Επίσης στο jpg φαίνεται στο Home το πως εμφανίζεται η εικόνα όταν επιλέγω μέσα απο τις παραμέτρους του να έχει εικόνα. Αυτή η εκδοχή έχει επίσης το πρόβλημα οτι δεν μπορώ να βγάλω το κειμενάκι από τα κουμπιά μπορεί να είναι εύκολο απο το php του template στο τέλος.

Τα template.css:

Κώδικας: Επιλογή όλων

...
/* NAVIGATION
--------------------------------------------------------- */
/* Main Nav ---*/
#ja-mainnav { position: relative; z-index: 9; padding-bottom: 10px; }

#ja-mainnav .main { height: 48px; font-size: 12px; }

#ja-mainnav .inner {
	height: 48px;
	background: url(../images/mainnav-bg.gif) no-repeat top center;
}

span.has-image {
	padding-left: 25px;
	padding-top: 5px;
	display: block;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: left 7px;
}

span.menu-title { 
	display: block; 
	font-size: 110%; 
	padding-top: 5px;
}

span.has-image span.menu-title { padding-top: 0; }

span.menu-desc {
	display: block;
	font-weight: normal;
	line-height: normal;
	font-size: 92%;
}
...
unik έγραψε:Αν και το ότι είναι από "καλό" site μπορεί να το κάνει αυτό δυσκολότερο.
Συμφωνώ τελικα! Το καλό σηκώνει πολλά νερα, απλά το θεώρησα κάπως αξιόπιστο. Βέβαια έχω και τους Ινδούς για το support, οι οποίοι παρεπιπτόντως μου είπαν το που ακριβώς βρίσκεται το μενού στα php άρχεια (στο τέλος), παραλείποντας όμως να μου πουν το πως, γιατι ειμαι απο php αστα να πάνε :P Έχω κάποια σχετικά php (λίγο τερατώδη :oops: ) στο τέλος.
unik έγραψε:Μα και συ αγόρασες template για να κάνεις τέτοιες customies μετά?
Νόμιζα πως τα πραγματα θα ήταν πιο εύκολα :hammer:
unik έγραψε:Αν έδινες link από το template που χρησιμοποιείς ή ακόμα καλύτερα από την εγκατάσταση σου ίσως να μπορούσες να βρεις πιο εύκολα βοήθεια...

Το template: http://www.joomlart.com/demo/#templates ... kyanite_ii



Εδώ είναι και τα PHPτέρατα :pint:
(έχει κάποια σχολιάκια κάποια υποτυπώδη άκρη έβγαλα..)


Κομμάτι από το base.class.php στον φάκελο των μενού:

Κώδικας: Επιλογή όλων

		function genMenuItem($item, $level = 0, $pos = '', $ret = 0)
		{
			$data = '';
			$tmp = $item;

			// Print a link if it exists
			$active = $this->genClass ($tmp, $level, $pos);

			$id='id="menu' . $tmp->id . '"';
			$iParams = new JParameter ( $item->params );
			$itembg = '';
			if ($this->getParam('menu_images') && $iParams->get('menu_image') && $iParams->get('menu_image') != -1) {
				if ($this->getParam('menu_background')) {
					$itembg = 'style="background-image:url('.JURI::base().'/images/stories/'.$iParams->get('menu_image').');"';
					$txt = '<span class="menu-title">' . $tmp->name . '</span>';
				&#125; else &#123;
					$txt = '<span class="menu-image"><img src="'.JURI&#58;&#58;base&#40;&#41;.'/images/stories/'.$iParams->get&#40;'menu_image'&#41;.'" alt="'.$tmp->name.'" title="'.$tmp->name.'" /></span><span class="menu-title">' . $tmp->name . '</span>';
				&#125;
			&#125; else &#123;
				$txt = '<span class="menu-title">' . $tmp->name . '</span>';
			&#125;
			//Add page title to item
			if &#40;$tmp->megaparams->get&#40;'desc'&#41;&#41; &#123;
				$txt .= '<span class="menu-desc">'. $tmp->megaparams->get&#40;'desc'&#41;.'</span>';
			&#125;
			
			if &#40;isset &#40;$itembg&#41; && $itembg&#41; &#123;
				$txt = "<span class="has-image" $itembg>".$txt."</span>";
			&#125;
			//$title = "title="$tmp->name"";
			
			if &#40;$tmp->type == 'menulink'&#41;
			&#123;
				$menu = &JSite&#58;&#58;getMenu&#40;&#41;;
				$alias_item = clone&#40;$menu->getItem&#40;$tmp->query&#91;'Itemid'&#93;&#41;&#41;;
				if &#40;!$alias_item&#41; &#123;
					return false;
				&#125; else &#123;
					$tmp->url = $alias_item->link;
				&#125;
			&#125;
			if &#40;$tmp->name&#41; &#123;
				if &#40;$tmp->type == 'separator'&#41;
				&#123;
					$data = '<a href="#" '.$active.' '.$id.' '.$title.'>'.$txt.'</a>';				
				&#125; else &#123;
					if &#40;$tmp->url != null&#41;
					&#123;
						switch &#40;$tmp->browserNav&#41;
						&#123;
							default&#58;
							case 0&#58;
								// _top
								$data = '<a href="'.$tmp->url.'" '.$active.' '.$id.' '.$title.'>'.$txt.'</a>';
								break;
							case 1&#58;
								// _blank
								$data = '<a href="'.$tmp->url.'" target="_blank" '.$active.' '.$id.' '.$title.'>'.$txt.'</a>';
								break;
							case 2&#58;
								// window.open
								$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->getParam&#40;'window_open'&#41;;
		  
								// hrm...this is a bit dickey
								$link = str_replace&#40;'index.php', 'index2.php', $tmp->url&#41;;
								$data = '<a href="'.$link.'" onclick="window.open&#40;this.href,\'targetWindow\',\''.$attribs.'\'&#41;;return false;" '.$active.' '.$id.' '.$title.'>'.$txt.'</a>';
								break;
						&#125;
					&#125; else &#123;
						$data = '<a '.$active.' '.$id.' '.$title.'>'.$txt.'</a>';
					&#125;
				&#125;
			&#125;


Όλο το css.class.php στον φάκελο των μενού:

Κώδικας: Επιλογή όλων

defined&#40; '_VALID_MOS' &#41; or defined&#40;'_JEXEC'&#41; or die&#40;'Restricted access'&#41;;
if &#40;!defined &#40;'_JA_CSS_MENU_CLASS'&#41;&#41; &#123;
	define &#40;'_JA_CSS_MENU_CLASS', 1&#41;;
	require_once &#40;dirname&#40;__FILE__&#41;.DS."base.class.php"&#41;;
	
	class JAMenuCSS extends JAMenuBase&#123;
		function beginMenu&#40;$startlevel=0, $endlevel = 10&#41;&#123;
		&#125;
  
  		function beginMenuItems&#40;$pid=0, $level=0&#41;&#123;
			if&#40;$level==0&#41; echo "<ul id="ja-cssmenu" class="clearfix">\n";
			else echo "<ul>";
		&#125;
      
		function endMenu&#40;$startlevel=0, $endlevel = 10&#41;&#123;
		&#125;
        
        function hasSubMenu&#40;$level&#41; &#123;
            return false;
        &#125;
        
        function beginMenuItem&#40;$row=null, $level = 0, $pos = ''&#41; &#123;
            $active = in_array&#40;$row->id, $this->open&#41;;
			$active = &#40;$level?""&#58;"menu-item&#123;$row->_idx&#125;"&#41;. &#40;$active?" active"&#58;""&#41;.&#40;$pos?" $pos-item"&#58;""&#41;;
            if &#40;$level == 0 && $level < $this->getParam &#40;'endlevel'&#41; && @$this->children&#91;$row->id&#93;&#41; echo "<li class="havechild &#123;$active&#125;">";
            else if &#40;$level > 0 && $level < $this->getParam &#40;'endlevel'&#41; && @$this->children&#91;$row->id&#93;&#41; echo "<li class="havesubchild &#123;$active&#125;">";
            else echo "<li ".&#40;&#40;$active&#41; ? "class="active"" &#58; ""&#41;.">";
        &#125;
        function endMenuItem&#40;$mitem=null, $level = 0, $pos = ''&#41;&#123;
            echo "</li> \n";
        &#125;
		
		function genMenuItem&#40;$item, $level = 0, $pos = '', $ret = 0&#41; &#123;
			//if &#40;$level&#41; return parent&#58;&#58;genMenuItem&#40;$item, $level, '', $ret&#41;;
			//else 
			return parent&#58;&#58;genMenuItem&#40;$item, $level, $pos, $ret&#41;;
		&#125;
	&#125;
&#125;
?>
:roll: :roll: :roll: :roll:

Το τουμπάνιασα λίγο :roll: μπας και σωθούμε!
Συνημμένα
tobe.jpg
εδώ είναι το πως είναι τώρα τα μενού

Άβαταρ μέλους
unik
Δημοσιεύσεις: 60
Εγγραφή: 11 Απρ 2008 18:05
Τοποθεσία: Θεσσαλονίκη

Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Δημοσίευση από unik » 11 Μάιος 2010 08:23

Καλημέρα.
Η αλήθεια είναι ότι μπερδεύτηκα λίγο άλλα...
Από την στιγμή που το δεύτερο μενού-module κάνει αυτό που θες γιατί δεν απενεργοποιείς απλά το πρώτο?? (από την διαχείριση ενθεμάτων).
Μήπως προσπαθείς να διαγράψεις το πρώτο μενού από την διαχείριση μενού κι όχι από την διαχείριση ενθεμάτων??
Έχεις κάνει και 2 μενού δηλαδή εκτός από 2 module?

Cmg__
Δημοσιεύσεις: 1710
Εγγραφή: 29 Μαρ 2005 22:40

Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Δημοσίευση από Cmg__ » 11 Μάιος 2010 10:14

Το module ειναι το απο κάτω. Το από πάνω είναι το fixed και μη αφαιρούμενο απο το interface μενού.
Τα καλά νέα είναι ότι βρήκα την λύση :lol: :lol: :lol: 8) , θα το στείλω αργότερα να υπάρχει :P
Ευχαριστώ πάντως :wink:

Άβαταρ μέλους
unik
Δημοσιεύσεις: 60
Εγγραφή: 11 Απρ 2008 18:05
Τοποθεσία: Θεσσαλονίκη

Εικόνες για Κουμπια στο Οριζόντιο Main Μenu

Δημοσίευση από unik » 11 Μάιος 2010 16:43

Όντως καλά νέα, γιατί αν πρέπει να στρώσουμε το μενού μέσα από post στο forum και screenshots μπορεί να μας πάρει μήνες... :lol:

Απάντηση

Επιστροφή στο “Joomla! γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες