Menu editen,CMS

Door Bas van de Steeg, 15 jaar geleden, 21.193x bekeken

Eey mensen,
Ik heb dit script gemaakt om aan mensen te laten zien hoe je makkelijk voor een cms of wat dan ook iets kan maken om je menu te editen. Met dit script kun je het volgende wijzigen in je menu.

  • Item toevoegen aan menu
  • Menu volgorde veranderen
  • Menu item class gebruiken/veranderen
  • Menu link/text veranderen.

----------------------Nog mee bezig--------------------
  • Sub menu :(voorbeeld, zelf te editen.)
  • reacties verwerken.

Ik heb dit script vooral gemaakt voor mij zelf voor nog wat extra ervaring. Dus plaats gerust een reactie. Mij zelf lijkt dit een zeer functioneel script dat makkelijk te gebruiken is.En makkelijk naar eigenzin te editen.

Voorbeeld

Hoe installeer je dit script ?
  • Kopieer de code naar de content van je cms.
  • Edit config.php
  • Zorg dat de tabel menu bestaat in je database.
  • En dan werkt het :)

Gesponsorde koppelingen

PHP script bestanden

  1. config.php
  2. add.php
  3. edit.php
  4. menu.php
  5. menu.sql

 

Er zijn 10 reacties op 'Php algemeen'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Roel -
Roel -
15 jaar geleden
 
Dit lijkt me eerlijk gezegd nogal een persoonlijk script en niet makkelijk te implementeren in je eigen CMS.
Bas  van de Steeg
Bas van de Steeg
15 jaar geleden
 
0 +1 -0 -1
Roel zou je misschien wel zeggen waarom het je niet makkelijk lijkt want dan kan ik misschien mijn post,script zo wijzigen dat dit makkelijker is :)
Wouter J
Wouter J
15 jaar geleden
 
De menu tag is voor iets anders bedoelt als jij hier gebruikt. Meer informatie: http://html5doctor.com/element-index/#menu

Gebruik hier de <nav> tag voor.

Verder puntjes:
Menu.php
- Ik mis query fout afhandeling
- Gebruik geen *, maar selecteer wat je wilt
- Gebruik fetch_assoc i.p.v. fetch_array, dit is sneller

edit.php
- Gebruik geen inline CSS
- Echo geen HTML met PHP. Sluit PHP af, typ de HTML en open PHP daarna weer
- <blockquote> is om iemand te citeren (die quote blokken hier op het forum bijv.) niet om een form in te plaatsen. Ik denk dat je <fieldset> en <legend> bedoeld.
- Zet de beschrijving van een input element in een <label> tag en link doormiddel van de for attribuut de 2 aan elkaar

En zodra je dit nou in functies uit werkt en de tabelnaam ook in de config zet wordt dit script al een stuk makkelijker.
Je moet proberen zoiets te maken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Menu.php
========
<nav>
<ul>
  <?php foreach( get_menu_items() as $item ) : ?>
  <li><a href="<?php echo $item['href']; ?>" title="<?php echo $item['text']; ?>"><?php echo $item['text']; ?></a></li>
  <?php endforeach; ?>
</ul>

Edit.php
========
<?php
if( isset($_GET['del']) )
{

  del_menu_item($_GET['del']);
}

if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

  if( !isset($_POST['volgid']) )
  {

    // ect.
    edit_menu_item($_POST['volgid'], $_POST['text'], $_POST['link'], $_POST['class']);
  }

  else
  {
    // error
  }
}

?>


Add.php
=======
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

  // alle controlles
  add_menu_item($_POST['text'], $_POST['link'], $_POST['class']);
}

?>
Bas  van de Steeg
Bas van de Steeg
15 jaar geleden
 
0 +1 -0 -1
Wouter bedankt voor je reactie, bedankt voor je verbetering op dat menu. Dat wist ik niet ;-)
Ik zal alles even gaan verbeteren. Een ding, waarom moet ik geen * gebruiken als ik alles uit de database haal ? Dit hoeft toch alleen wanneer je bijvoorbeeld alleen het id eruit haalt ?
Wouter J
Wouter J
15 jaar geleden
 
Het is sneller om te selecteren wat je wilt en het is overzichtelijker. Als ik jou script nu zie en ik wil snel iets veranderen, dan moet ik -als je * gebruikt- eerst inloggen op PHPMyAdmin, kijken wat voor velden er allemaal inzitten en dan pas kan ik wat aanpassen. Als je alles selecteert kan ik meteen zien waar ik toegang tot heb.

En daarnaast gebruik je ook niet alles, volgid wordt niet gebruikt in menu.php. Het is zonde om tijd te verspillen aan iets wat je nergens gebruikt.
Bas  van de Steeg
Bas van de Steeg
15 jaar geleden
 
0 +1 -0 -1
Nogmaals bedankt voor je reactie ;-) Ik heb al een gedeelte van je reactie verwerkt ik zal het nog eventjes editen.
Wouter J
Wouter J
15 jaar geleden
 
Nog een klein dingetje over de tekst hier. Je gebruikt de hele tijd *= maar het is beter om hier op het forum de [list] en [li] tags te gebruiken voor het opmaken van een lijst.
Eddy E
Eddy E
15 jaar geleden
 
@Wouter J:
<nav> en <section> is HTML 5... en die is officieel nog niet uit. Dus heb je geen backwars-compliability (als je dat zo schrijft).
Zelfde verhaal met <section>.

Ik raad je aan nog geen HTML5 te gebruiken (en CSS3 etc) ZONDER een terugval-optie!
Wouter J
Wouter J
15 jaar geleden
 
0 +1 -0 -1
@Eddy, ik zal zeker wel HTML5 gebruiken. Elk modern browsers support het en voor de lage IE versies kun je HTML5Shiv gebruiken.
Meer informatie: http://www.phphulp.nl/php/tutorial/scripting-ajax-html-css/html-in-2012/767/wanneer-kun-je-html5-gebruiken/2058/
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Arjan hazewinkel
arjan hazewinkel
15 jaar geleden
 
0 +1 -0 -1
bekijk je script nog eens. heb even laten zien hoe makkelijk dit te xsse was....

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. config.php
  2. add.php
  3. edit.php
  4. menu.php
  5. menu.sql

Labels

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.