Zares Posted August 4, 2013 Share Posted August 4, 2013 Czy jest możliwość dodania linków do górnego menu z tym że po prawej stronie? Dodam, że tych po lewej wcale nie chcę się pozbywać Menu jest rozciągnięte na 100% width, dlatego miejsca jest dużo, a tak mi się jakoś upodobało, by część linków była po lewej a część - po prawej Link to comment Share on other sites More sharing options...
vekia Posted August 4, 2013 Share Posted August 4, 2013 jest taka możliwość ale wymaga troche kombinacji, przede wszystkim trzeba by bylo nadać własne ID elementom <LI> (w kodzie php modułu) następnie dla tych ID utworzyć style css z float:right; jakie dokładnie elementy chcesz umieścić po prawej? (ich rodzaj) Link to comment Share on other sites More sharing options...
Zares Posted August 4, 2013 Author Share Posted August 4, 2013 Normalne linki do podstron Link to comment Share on other sites More sharing options...
vekia Posted August 4, 2013 Share Posted August 4, 2013 no właśnie musiałbyś sprecyzować są to linki do podstron CMS ? czy linki "ręcznie" tworzone za pomocą wbudowanego narzędzia: wszystko zależy od tego Link to comment Share on other sites More sharing options...
Zares Posted August 4, 2013 Author Share Posted August 4, 2013 (edited) Raczej CMS. To, co przedstawiłeś na screenie, do czego służy? Co by mi dało stworzenie ręcznie linka, skoro nie miałbym jak tej podstrony zrobić? Edited August 4, 2013 by Zares (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 4, 2013 Share Posted August 4, 2013 To jest przydatne np. w przypadku używania modułów (np. jakiś moduł galerii, księgi gości czy jakieś inne tego typu ficzery) które tworzą własne podstrony. Wówczas możesz taki moduł podlinkować właśnie za pomocą tego narzędzia. Nic nie stoi na przeszkodzie aby dodać zewnętrze linki np. do firmowego bloga, jakiegoś profilu social media itp. Generalnie to możliwości wykorzystania tej funkcji jest całe mnóstwo... Ale my tu nie o tym Ok, to w takim razie niezbędne jest wyedytowanie kodu modułu, a dokładniej rzecz ujmując funkcji odpowiedzialnej za generowanie linków CMS. oto i ona: case 'CMS': $selected = ($this->page_name == 'cms' && (Tools::getValue('id_cms') == $id)) ? ' class="sfHover"' : ''; $cms = CMS::getLinks((int)$id_lang, array($id)); if (count($cms)) $this->_menu .= '<li'.$selected.'><a href="'.$cms[0]['link'].'">'.$cms[0]['meta_title'].'</a></li>'.PHP_EOL; break; case 'CMS_CAT': $category = new CMSCategory((int)$id, (int)$id_lang); if (count($category)) { $this->_menu .= '<li id="linkcms_'.(int)$id.'"><a href="'.$category->getLink().'">'.$category->name.'</a>'; $this->getCMSMenuItems($category->id); $this->_menu .= '</li>'.PHP_EOL; } break; zamieniamy powyższy kod na: case 'CMS': $selected = ($this->page_name == 'cms' && (Tools::getValue('id_cms') == $id)) ? ' class="sfHover"' : ''; $cms = CMS::getLinks((int)$id_lang, array($id)); if (count($cms)) $this->_menu .= '<li'.$selected.' id="linkcms_'.(int)$id_cms.'"><a href="'.$cms[0]['link'].'">'.$cms[0]['meta_title'].'</a></li>'.PHP_EOL; break; case 'CMS_CAT': $category = new CMSCategory((int)$id, (int)$id_lang); if (count($category)) { $this->_menu .= '<li id="linkcms_'.(int)$id.'"><a href="'.$category->getLink().'">'.$category->name.'</a>'; $this->getCMSMenuItems($category->id); $this->_menu .= '</li>'.PHP_EOL; } break; i odtąd nasze poziome menu i strony CMS umieszczone w menu będą miały własny id="linkcms_ID"; gdzie ID jest numerem identyfikacyjnym. teraz możemy utworzyć style css, np. w pliku global.css: #linkcms_0 {float:right;} #linkcms_1 {float:right;} efekt: 1 Link to comment Share on other sites More sharing options...
Zares Posted August 4, 2013 Author Share Posted August 4, 2013 Dzięki wielkie. Odwalasz świetną robotę na forum, rzeczywiście istna "legenda" PrestaShop A jeśli chciałbym dodać link "ręczny", to domyślnie będzie się wstawiać na lewą stronę menu, tak? Nie chciałbym Cię już zamęczać, by to też konwertować na prawo... chyba że znasz już rozwiązanie. Link to comment Share on other sites More sharing options...
vekia Posted August 4, 2013 Share Posted August 4, 2013 nie, w tym przypadku jest konieczna kolejna modyfikacja, która będzie dotyczyła właśnie tych linków dodawanych "ręcznie" w tym przypadku konieczna będzie kolejna modyfikacja. w blocktopmenu.php masz taki kod: case 'LNK': $link = MenuTopLinks::get((int)$id, (int)$id_lang, (int)$id_shop); if (count($link)) { if (!isset($link[0]['label']) || ($link[0]['label'] == '')) { $default_language = Configuration::get('PS_LANG_DEFAULT'); $link = MenuTopLinks::get($link[0]['id_linksmenutop'], $default_language, (int)Shop::getContextShopID()); } $this->_menu .= '<li><a href="'.$link[0]['link'].'"'.(($link[0]['new_window']) ? ' target="_blank"': '').'>'.$link[0]['label'].'</a></li>'.PHP_EOL; } break; linię: $this->_menu .= '<li><a href="'.$link[0]['link'].'"'.(($link[0]['new_window']) ? ' target="_blank"': '').'>'.$link[0]['label'].'</a></li>'.PHP_EOL; zmieniamy na: $this->_menu .= '<li id="zwyklylink'.$link[0]['id_linksmenutop'].'"><a href="'.$link[0]['link'].'"'.(($link[0]['new_window']) ? ' target="_blank"': '').' >'.$link[0]['label'].'</a></li>'.PHP_EOL; następnie używamy styli css: #zwyklylink0 {float:right;} #zwyklylink2 {float:right;} #zwyklylink3 {float:right;} ... itd 1 Link to comment Share on other sites More sharing options...
Zares Posted August 4, 2013 Author Share Posted August 4, 2013 (edited) case 'CMS': $selected = ($this->page_name == 'cms' && (Tools::getValue('id_cms') == $id)) ? ' class="sfHover"' : ''; $cms = CMS::getLinks((int)$id_lang, array($id)); if (count($cms)) $this->_menu .= '<li'.$selected.'><a href="'.$cms[0]['link'].'">'.$cms[0]['meta_title'].'</a></li>'.PHP_EOL; break; case 'CMS_CAT': $category = new CMSCategory((int)$id, (int)$id_lang); if (count($category)) { $this->_menu .= '<li id="linkcms_'.(int)$id.'"><a href="'.$category->getLink().'">'.$category->name.'</a>'; $this->getCMSMenuItems($category->id); $this->_menu .= '</li>'.PHP_EOL; } break; zamieniamy powyższy kod na: case 'CMS': $selected = ($this->page_name == 'cms' && (Tools::getValue('id_cms') == $id)) ? ' class="sfHover"' : ''; $cms = CMS::getLinks((int)$id_lang, array($id)); if (count($cms)) $this->_menu .= '<li'.$selected.' id="linkcms_'.(int)$id_cms.'"><a href="'.$cms[0]['link'].'">'.$cms[0]['meta_title'].'</a></li>'.PHP_EOL; break; case 'CMS_CAT': $category = new CMSCategory((int)$id, (int)$id_lang); if (count($category)) { $this->_menu .= '<li id="linkcms_'.(int)$id.'"><a href="'.$category->getLink().'">'.$category->name.'</a>'; $this->getCMSMenuItems($category->id); $this->_menu .= '</li>'.PHP_EOL; } break; i odtąd nasze poziome menu i strony CMS umieszczone w menu będą miały własny id="linkcms_ID"; gdzie ID jest numerem identyfikacyjnym. teraz możemy utworzyć style css, np. w pliku global.css: #linkcms_0 {float:right;} #linkcms_1 {float:right;} Jest problem: <ul class="sf-menu clearfix"> <li ><a href="http://bamboocraftsman.cn/shop/index.php">Home</a> <ul><li ><a href="http://bamboocraftsman.cn/shop/index.php?id_category=2&controller=category&id_lang=1">iPods</a></li> <li ><a href="http://bamboocraftsman.cn/shop/index.php?id_category=3&controller=category&id_lang=1">Accessories</a></li> <li ><a href="http://bamboocraftsman.cn/shop/index.php?id_category=4&controller=category&id_lang=1">Laptops</a></li></ul></li> <li id="linkcms_0"><a href="http://bamboocraftsman.cn/shop/index.php?id_cms=1&controller=cms&id_lang=1">Delivery</a></li> <li id="linkcms_0"><a href="http://bamboocraftsman.cn/shop/index.php?id_cms=2&controller=cms&id_lang=1">Legal Notice</a></li> <li><a href="http://bamboocraftsman.cn/shop/index.php?id_product=1&controller=product&id_lang=1">iPod Nano</a></li> </ul> Z linków CMS pojawiły się id, ale dwa takie same - linkcms_0 Edited August 4, 2013 by Zares (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 4, 2013 Share Posted August 4, 2013 nie wiem jaki kod wykorzystujesz, bo po kilku minutach od umieszczenia go zmodyfikowałem nieco własnie aby uniknąć tego problemu (chyba mówiszo tym samym ID?) Link to comment Share on other sites More sharing options...
Zares Posted August 4, 2013 Author Share Posted August 4, 2013 Tak, są takie same ID. Dla pewności wkleiłem jeszcze raz, ale bez zmian. Link to comment Share on other sites More sharing options...
mysmo Posted January 12, 2014 Share Posted January 12, 2014 Czy mógłby ktoś napisać jak powinien wyglądać poprawny kod CSS dla linku, który ma mieć inny kolor? Link to comment Share on other sites More sharing options...
vekia Posted January 12, 2014 Share Posted January 12, 2014 zależy jakiego linku, gdzie on się znajduje i czy ma nadaną klasę albo id Link to comment Share on other sites More sharing options...
mysmo Posted January 13, 2014 Share Posted January 13, 2014 Chodzi o zmianę koloru np. linku Aktualnośći na http://wydawnictwomalejezyki.pl Zamieniłem fragment kodu dla linków CMS i nie bardzo wiem co dać teraz w global.css Link to comment Share on other sites More sharing options...
vekia Posted January 13, 2014 Share Posted January 13, 2014 obiekt ten nie ma nadanej klasy ani id, niemożliwe jest nadanie mu własnych styli, teoretycznie można to objeść gdyż jest on pierwszym elementem na liście, w związku z tym można zastosować style first-child .sf-menu li:first-child a{ background:red!important; color:black!important; } pamietaj, że działają one wyłacznie do pierwszego elementu na liście Link to comment Share on other sites More sharing options...
mysmo Posted January 13, 2014 Share Posted January 13, 2014 Ale to nie można jakoś tak zmodyfikować styli tego fragmentu: #linkcms_0 {float:right;}#linkcms_1 {float:right;} żeby linki miały różne kolory? Myślałem że po zmianie kodu w bloktopmenu.php linki te mają właśnie nadane owe ID? Link to comment Share on other sites More sharing options...
vekia Posted January 13, 2014 Share Posted January 13, 2014 no ale nic nie wspomniałeś, że coś modyfikowane było dodatkowo, po przeanalizowaniu Twojej strony, te linki w menu nie mają nadanego ID czy klasy. Link to comment Share on other sites More sharing options...
mysmo Posted January 13, 2014 Share Posted January 13, 2014 (edited) ok, nadpisałem plik raz jeszcze na serwerze, teraz powinno być dobrze i aktualności mają teraz <li id="linkcms_0" class="sfHover"> jak teraz poprawnie napisać dla tego kod CSS? Edited January 13, 2014 by mysmo (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted January 14, 2014 Share Posted January 14, 2014 no, to teraz można je dowolnie edytować za pomocą #linkcms_0 #linkcms_0 a Link to comment Share on other sites More sharing options...
mysmo Posted January 14, 2014 Share Posted January 14, 2014 (edited) Tam wyżej był opisany ten problem i pisałeś że kod jest poprawiony ale wkleiłem ten do blocktopmenu.php case 'CMS': $selected = ($this->page_name == 'cms' && (Tools::getValue('id_cms') == $id)) ? ' class="sfHover"' : ''; $cms = CMS::getLinks((int)$id_lang, array($id)); if (count($cms)) $this->_menu .= '<li'.$selected.' id="linkcms_'.(int)$id_cms.'"><a href="'.$cms[0]['link'].'">'.$cms[0]['meta_title'].'</a></li>'.PHP_EOL; break; case 'CMS_CAT': $category = new CMSCategory((int)$id, (int)$id_lang); if (count($category)) { $this->_menu .= '<li id="linkcms_'.(int)$id.'"><a href="'.$category->getLink().'">'.$category->name.'</a>'; $this->getCMSMenuItems($category->id); $this->_menu .= '</li>'.PHP_EOL; } break; i problem podwójnego #linkcms_0 nadal występuje (zakładka Aktualności i konkurs). Jak to poprawić? I mam jeszcze problem z zakładką Nasza oferta ale w zasadzie kolor mógłby zostać. Edited February 4, 2014 by mysmo (see edit history) Link to comment Share on other sites More sharing options...
mysmo Posted February 4, 2014 Share Posted February 4, 2014 Może ktoś znalazł rozwiązanie na podwójny #linkcms_0? Link to comment Share on other sites More sharing options...
Recommended Posts