Damian Kard

Damian Kard Graphic designer

Temat: Dodanie strony html z css i javascript do wordpress'a

Witam, potrzebuję zrobić na swojej stronie menu w formie takiej jak tu http://codecanyon.net/item/-metro-flexible-navigation/... , obecnie używam menu w formie dropdown i to też pozostanie a takie rozwiązanie będzie dodatkowe dla innej grupy użytkowników tej strony. Zakupiłem ten "plugin" (nazwę to tak by było łatwiej opisać problem) i troszkę zmieniłem pod swoje potrzeby, tj przewijanie tylko w górę i dół oraz nieco inny wygląd tych okienek, problem w tym że nie mam pojęcia jak umieścic to na stronie tak by po kliknieciu pozycji w menu pokazywała się podstrona z tym pluginem i jednocześnie zostawało wszystko co jest w seksji header, czyli jeśli dobrze rozumiem plugin musi pojawiać się w sekcji content. Pytałem twórcę tego pluginu i zaproponował bym zmienił plik index.html na index.php po prostu i dodał taka stronę do wordpressa, ale nie jest to w żaden sposób dla mnie logiczne. Jak można to wykonać ? Wtyczka zawiera takie pliki i foldery:

CSS -> metro.css
IMAGES -> kilka plików jpg
JS -> metro.js
jquery.plugins.min.js
jquery.min.js
respond.min0.js
WEBFONTS -> pliki fontów
index.html

index.html zawiera:

 <!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Staff website</title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<link rel="stylesheet" type="text/css" media="all" href="css/metro.css" />
<script src="js/jquery.min.js"></script>
<script src="js/jquery.plugins.min.js"></script>
<script src="js/metro.js"></script>
<!--[if lt IE 9]>
<script src="js/respond.min.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<div class="metro-layout horizontal">
<div class="header">
<div class="controls">
<span class="down" title="Scroll down"></span>
<span class="up" title="Scroll up"></span>
<span class="next" title="Scroll left"></span>
<span class="prev" title="Scroll right"></span>
</span>
</div>
</div>
<div class="content clearfix">
<div class="items">
<a class="box" href="#">
<span>Mail</span>
<img class="icon" src="images/mail.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Settings</span>
<img class="icon" src="images/settings.png" alt="" />
</a>
<a class="box" href="#" style="background: #43b51f;">
<span>Make a call</span>
<img class="icon" src="images/phone.png" alt="" />
</a>
<a class="box width2 height2" href="#">
<span>Photos</span>
<img class="cover" src="images/gallery.jpg" alt="" />
</a>
<a class="box" href="#" style="background: #00aeef;">
<span>Music</span>
<img class="icon" src="images/music.png" alt="" />
</a>
<a class="box" href="#" style="background: #f58d00;">
<span>Firefox</span>
<img class="icon" src="images/firefox.png" alt="" />
</a>
<a class="box" href="#" style="background: #640f6c;">
<span>Yahoo</span>
<img class="icon" src="images/yahoo.png" alt="" />
</a>
<a class="box height2" href="#" style="background: #d32c2c;">
<span>GMail</span>
<img class="icon big" src="images/gmail.png" alt="" />
</a>
<a class="box" href="#" style="background: #3c5b9b;">
<span>Facebook</span>
<img class="icon" src="images/facebook.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffc808;">
<span>Winamp</span>
<img class="icon" src="images/winamp.png" alt="" />
</a>
<a class="box" href="#" style="background: #00a9ec;">
<span>Tasks</span>
<img class="icon" src="images/tasks.png" alt="" />
</a>
<a class="box height2" href="#" style="background: #4c5e51;">
<span>DeviantART</span>
<img class="icon big" src="images/deviantart.png" alt="" />
</a>
<a class="box" href="#" style="background: #f874a4;">
<span>Dribbble</span>
<img class="icon" src="images/dribbble.png" alt="" />
</a>
</div>
</div>
</div>
</body>
</html>


dodam że chciał bym mieć tą podstronę dostepną normalnie z poziomu panelu administratora dlatego że mogę/muszę ją zabezpieczyć wtyczką role/scoper która zabezpiecza mi podstrony przed dostępem dla zwykłych użytkowników.

moja strona to: theploughharborne.co.uk
Maciej Palmowski

Maciej Palmowski Programista WP

Temat: Dodanie strony html z css i javascript do wordpress'a

Jeżeli wtyczka ma być użyta tylko na tej stronie to myslę, że logicznym rozwiązaniem będzie coś takiego:

tworzysz plik header-metro.php, footer-metro.php i plik o nazwie metro.php.

W header-metro.php robisz takie headera, żeby zawierał potrzebne js'y i css'y, w footer-metro to samo.

W metro.php:


<?php
/**
* Template Name:metro
*
*/
get_header('metro');
?>
tu jakiś kod
<?php the_content();?>
tu jakiś inny
<?php get_footer('metro');?>



Zamiast "tu jakiś kod" i "tu jakiś inny" wstawiasz z tego html'a wszystko czego nie będziesz edytował czyli np. (troszkę to na oko robię):


<?php
/**
* Template Name:metro
*
*/
get_header('metro');
?>
<div class="metro-layout horizontal">
<div class="header">
<div class="controls">
<span class="down" title="Scroll down"></span>
<span class="up" title="Scroll up"></span>
<span class="next" title="Scroll left"></span>
<span class="prev" title="Scroll right"></span>
</span>
</div>
</div>
<div class="content clearfix">
<div class="items">
<?php the_content();?>
</div>
</div>
</div>
<?php get_footer('metro');?>


Następnie dodajesz nową stronę, jako szablon wybierasz 'metro' a w content wpisujesz boxy.

Jeżeli dodasz stronę to menu to będzie ona podświetlona.
Damian Kard

Damian Kard Graphic designer

Temat: Dodanie strony html z css i javascript do wordpress'a

Ale co masz na myśli mówiąc że tylko na tej stronie, na tej tzn ?

czyli teoretycznie jeśli skopiuję zawartość swojego pliku header.php i footer.php które są używane przez mój template do plików odpowiednio header-metro.php i footer-metro.php to powinno być ok tak?

a w metro.php to co podałeś następnie reszte kodu html wrzucam w panel administratora -> pages -> add new -> zakładka html i wybieram moj template dla tej podstrony który właśnie stworzyłem

dobrze to rozumiem ?

ok utworzylem 3 pliki

header-metro.php gdzie wrzuciłem kod z pliku header.php z mojego template
footer-metro.php gdzie wrzuciłem kod z pliku footer.php z mojego template
metro.php który zawiera


<?php
/**
* Template Name:metro
*
*/
get_header('metro');
?>





<?php the_content();?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Staff website</title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<link rel="stylesheet" type="text/css" media="all" href="/wp/wp-content/themes/theme1317/metro/css/metro.css" />
<script src="/wp/wp-content/themes/theme1317/metro/js/jquery.min.js"></script>
<script src="/wp/wp-content/themes/theme1317/metro/js/jquery.plugins.min.js"></script>
<script src="/wp/wp-content/themes/theme1317/metro/js/metro.js"></script>
<!--[if lt IE 9]>
<script src="js/respond.min.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<div class="metro-layout horizontal">
<div class="header">
<div class="controls">
<span class="down" title="Scroll down"></span>
<span class="up" title="Scroll up"></span>
<span class="next" title="Scroll left"></span>
<span class="prev" title="Scroll right"></span>
</span>
</div>
</div>
<div class="content clearfix">
<div class="items">
<a class="box" href="#" style="background: #ffffff;">
<span>Company history</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/mail.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Job descriptions</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/settings.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Company vision</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/phone.png" alt="" />
</a>
<a class="box width2 height2" href="#">
<span>Meet the staff</span>
<img class="cover" src="/wp/wp-content/themes/theme1317/metro/images/gallery.jpg" alt="" />
</a>
<a class="box" href="http://files.theploughharborne.co.uk/wp/ploughtv/" style="background: #ffffff;">
<span>Plough TV</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/music.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Quizzes</span>
<img class="icon big" src="/wp/wp-content/themes/theme1317/metro/images/firefox.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Rota</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/yahoo.png" alt="" />
</a>
<a class="box height2" href="#" style="background: #ffffff;">
<span>Holiday request form</span>
<img class="icon big" src="/wp/wp-content/themes/theme1317/metro/images/gmail.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>News</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/facebook.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Working over christmas</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/winamp.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Things to be aware of</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/tasks.png" alt="" />
</a>
<a class="box height2" href="#" style="background: #ffffff;">
<span>My big idea</span>
<img class="icon big" src="/wp/wp-content/themes/theme1317/metro/images/deviantart.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Starter form</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/dribbble.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Reviews</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/mail.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Rough Guide</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/settings.png" alt="" />
</a>
<a class="box" href="#" style="background: #ffffff;">
<span>Plough Family tree</span>
<img class="icon" src="/wp/wp-content/themes/theme1317/metro/images/phone.png" alt="" />
</a>
</div>
</div>
</div>
</body>
</html>




<?php get_footer('metro');?>


po czym utworzyłem nową strone i wybrałem dla niej template który się teraz pokazał czyli metro

nic nie dodawałem w karcie html ani visual bo cała zawartość jest w metro.php

strona faktycznie pokazuje się lecz nie mogę jej przewijać w górę i dół jeśli kursor jest po środku strony w polu gdzie ten plugin się pojawia, jeśli przesunę kursor na lewo lub prawo strony wtedy ok, nie pojawiają się też nad tymi boxami takie dwa obrazki właśnie do przewijania tego w dół i w górę

tak to powinno wyglądać http://files.theploughharborne.co.uk/wp/wp-content/the... tyle że z tłem obrazkowym na całości, w mniejszej skali jaką akurat mam co mieści mi się w template no i powinien być ten header ze strzałkami góra dól którego można użyć do przewijania strony Damian Kard edytował(a) ten post dnia 02.10.12 o godzinie 22:42

Temat: Dodanie strony html z css i javascript do wordpress'a

Jeżeli chcesz dodać js i css tylko do jednego pliku to można to zrobić np tak
function szablon_js() {
if ( is_page_template('metro.php') ){
wp_register_script('metro', get_template_directory_uri() .'/metro.js', array('jquery'));
wp_enqueue_script('metro'); }}
add_action('wp_enqueue_scripts', 'szablon_js');
nie musisz wtedy zmieniać pliku header.php czy footer.php, menu też można zrobić np jako galeria wpisu, do zdjęcia dodasz linki i opis.
Damian Kard

Damian Kard Graphic designer

Temat: Dodanie strony html z css i javascript do wordpress'a

nie bardzo rozumiem to co napisałeś, aż tak wtajemniczony chyba nie jestem i się gubię w tym.

galeria wpisu? a jak by to wyglądało? jakiś przykład? :)

chciał bym zastosować ten plugin który mam i nie kombinować z innymi rzeczami.

mi to wygląda tak jak by obecna strona, jej template wchodziła pod mój header i jest schowana bo wystaje tylko kawałek czarnego tła a na dole jest go dużo więcej a powinno być chyba po równo w tej sytuacji

w sumie to skalowanie na mniejsze też jest złe bo układ tych boxów się psuje przez to, więc lepiej jak by nie dostosowywały się do mojego template Damian Kard edytował(a) ten post dnia 02.10.12 o godzinie 23:07
Damian Kard

Damian Kard Graphic designer

Temat: Dodanie strony html z css i javascript do wordpress'a

jakieś pomysły jeszcze jak to wykonać ?
Maciej Palmowski

Maciej Palmowski Programista WP

Temat: Dodanie strony html z css i javascript do wordpress'a

Pokaż jak to wygląda bo tak z wyobraźni to ciężko mi coś wykombinować ;)

Wracając na moment do pomysłu Tomka a propos galerii to jest on w sumie genialny w swojej prostocie - musiałbyś się tylko troszkę pobawić z get_posts(), attachments i jako post_parent ustawieniem ID swojego wpisu. Tu trzeba jednak moment spędzić nad programowaniu - jeżeli nie czujesz się w tym na siłach to wrzucasz html w treść strony.

Teraz jeszcze jak patrzę w to co wkleiłeś to masz błąd - po co dwa razy otwierasz html/head etc? Przecież w headerze zapewne już to zrobiłeś (choć mogę się mylić). Dodatkowo ścieżki do js/css masz prawdopodobnie źle. Zamiast: /wp/wp-content/themes/theme1317/metro/js/jquery.min.js powinno być:

<?php bloginfo('template_url');?>/metro/js/jquery.min.js


Inna sprawa, że troszkę inaczej się to powinno załączać, ale na razie doprowadźmy to do tego żeby działało.

Dodatkowo te wszystkie css i js powinny być w header-metro.php albo footer-metro.php (po coś je stworzyliśmy).
Damian Kard

Damian Kard Graphic designer

Temat: Dodanie strony html z css i javascript do wordpress'a

ten pomysł może i jest ok, ale nie na moją głowę i znajomość tematu, no i trochę z czasem mi się pali :P

ok to może od początku.

efekt który chcę uzyskać wygląda tak http://files.theploughharborne.co.uk/wp/wp-content/the...

tyle że zamiast czarnego tła ma pobierać sobie tło jakie jest obecnie ustawione dla całego template czyli drewno, choć to już najmniejszy problem.

wszystko fajnie tylko że to co pokazałem jest wciąż jako html i do tego potrzebuję by cały czas był
widoczny nad tym mój header czyli ta cała biała część mojej strony wraz z logo i menu

to co jest teraz w index.html działa tak jak powinno czyli przewijanie guzikami w formie strzałek, przewijanie myszką czy gładzikiem gdzie kolwiek znajduje się kursor oraz to jak ustawiają się te boxy, jest trochę za szeroko wszystko ale to pewnie też da się gdzieś określić np w css.

a z tego co ja wykonałem wyszło coś takiego http://files.theploughharborne.co.uk/wp/new-staff-webs... co nie jest nawet w połowie bliskie temu czego potrzebuję :D

pewnie pliki są w złych miejscach i mają zła zawartość ale nie potrafię tego ogarnąć jakoś.

mogę podesłać komuś paczkę z tymi plikami co może było by łatwiej określić jak to działa.
Damian Kard

Damian Kard Graphic designer

Temat: Dodanie strony html z css i javascript do wordpress'a

szukam nadal rozwiązania tego problemu jeśli jest ktoś w stanie mi pomóc było by miło

Następna dyskusja:

Edytor css w Wordpressie, a...




Wyślij zaproszenie do