Help - Zoeken - Gebruikers - Kalender
Volledige versie: Project: Linkensite
MandrivaClub.NL > Forum > Documentatie en Programmeren
Alain
In dit topic wil ik met jullie delen hoe ik de linkensite van Peet zo maak dat je online links kunt toevoegen. Aangezien ik nog niet echt ervaren ben in dergelijk dingen is het wel handig als mensen een beetje tips geven hoe het makkelijker kan e.d.

Overzicht:

    )
    * Koppeling tussen database en template (PHP)
    * Functies voor database (PHP)
    * Database (MySQL)


      Ik behandel de onderwerpen van beneden naar boven.

      Database:

      De database bestaat uit 3 tabbellen, namelijk:

        * Admins --> Adminid, Name, password
        * Groepen --> Groepid, kolomnr, Groepsnaam
        * Linken --> Linkid, Groepid, link, tekst


          Functies voor database:

          Dit is een class mysql die een aantal variabelen en functies bevat. De variabelen zijn de host, user, password en database. De functies zijn voor het wegschrijven en ophalen van informatie in en uit de database. Ik heb deze class al af en zal het posten zodra mijn webspace weer fatsoenlijk werkt. ;-)

          Koppeling tussen database en template:

          Deze bestanden (index.php en admin/index.php) roepen de functies uit de class mysql aan. Vervolgens wordt de informatie naar het template gestuurd.

          Template:

          Dit is hetgeen wat Peet heeft gemaakt. Ik zet dit om naar een template en door het gebruik van Smarty kunnen de gegevens doormiddel van loops op de juiste plek gezet worden.

          Als je tips hebt zijn ze van harte welkom. Vragen mag natuurlijk ook. ;-)
RvP
"Als je tips hebt zijn ze van harte welkom. Vragen mag natuurlijk ook."

Complimenten ook? Bij deze. Erg handig om zo door te springen via deze site. :idea:
Alain
Dat mag zeker. Bedankt. smile.gif
Open the Sourceror
Ik heb een XML file die wordt omgezet met een XSLT style sheet naar XHTML, verder associeer ik daar weer een CSS style sheet mee op het grafisch wat te verfraaiien.

Als dit aan een server-backend kan worden gekoppeld (zodat men links kan insturen) kan deze XML eenvouding worden aangepast. smile.gif

Lijkt mij minder werk dan het genereren van andere HTML code iedere keer als er weer een link bijkomt.
Alain
QUOTE(Open the Sourceror)
Lijkt mij minder werk dan het genereren van andere HTML code iedere keer als er weer een link bijkomt.


De HTML wordt gegenereert door onze vriend Smarty, verder wordt er gebruik gemaakt van een CSS. Ik snap niet helemaal wat je bedoeld met dat jou manier makkelijker is, want XML is iets heel anders als wat ik gemaakt heb ... Verder heeft deze linkenpagina de meeste functionaliteit achter de schermen. smile.gif Misschien post ik wel eens wat screenshots. ;-)
Open the Sourceror
Hoe wordt die door Smarty gegenereerd?
Handmatig misschien?

XML is niet veel anders, als het wordt geassocieerd met een XSLT stylesheet. Deze zet het om naar een ander formaat, bijv. HTML.

info.xml
CODE
<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet type="text/xsl" href="info.xsl"?>

<links>

 <categories>

   <category id="0" name="XML">

     <link id="0">

       <description>Xerces2-J Libraries</description>

       <version>2.6.2</version>

       <location>http://xml.apache.org/xerces2-j/index.html</location>

       <directlocation>http://www.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.6.2.zip</directlocation>

     </link>

     <link id="1">

       <description>Xerces2-J Tools</description>

       <version>2.6.2</version>

       <location>http://xml.apache.org/xerces2-j/index.html</location>

       <directlocation>http://www.apache.org/dist/xml/xerces-j/Xerces-J-tools.2.6.2.zip</directlocation>

     </link>

     <link id="3">

       <description>Sun's XML introduction</description>

       <version>0</version>

       <location>http://java.sun.com/xml/index.jsp</location>

       <directlocation>http://java.sun.com/xml/tutorial_intro.html</directlocation>

     </link>

     <link id="4">

       <description>W3C's XML tutorial</description>

       <version>0</version>

       <location>http://www.w3schools.com/xml/default.asp</location>

       <directlocation>http://www.w3schools.com/xml/xml_whatis.asp</directlocation>

     </link>

     <link id="5">

       <description>W3C's DOM tutorial</description>

       <version>0</version>

       <location>http://www.w3schools.com/dom/default.asp</location>

       <directlocation>http://www.w3schools.com/dom/dom_intro.asp</directlocation>

     </link>

   </category>



   <category id="1" name="GUI (Swing)">

     <link id="6">

       <description>SwiXML Libraries</description>

       <version>1.1-139</version>

       <location>http://www.swixml.org/</location>

       <directlocation>http://www.swixml.org/swixml_139.zip</directlocation>

     </link>

     <link id="7">

       <description>SwiXML Examples</description>

       <version>1.1-139</version>

       <location>http://www.swixml.org/samples/index.html</location>

       <directlocation>

       http://www.swixml.org/samples/html/index.html</directlocation>

     </link>

     <link id="8">

       <description>SwiXML Live Demo</description>

       <version>0</version>

       <location>http://www.carlsbadcubes.com/swixdemo.html</location>

       <directlocation>http://www.carlsbadcubes.com/swixdemo.html</directlocation>

     </link>

     <link id="9">

       <description>Java Foundation Classes (JFC)</description>

       <version>0</version>

       <location>http://java.sun.com/products/jfc/index.jsp</location>

       <directlocation>http://java.sun.com/products/jfc/docs.html</directlocation>

     </link>

     <link id="10">

       <description>Swing &amp; Java2D painting (Decorator Pattern)</description>

       <version>0</version>

       <location>http://java.sun.com/products/jfc/tsc/articles/swing2d/</location>

       <directlocation>http://java.sun.com/products/jfc/tsc/articles/swing2d/</directlocation>

     </link>

     <link id="11">

       <description>Java Look and Feel Design

       Guidelines</description>

       <version>0</version>

       <location>http://java.sun.com/products/jlf/ed2/book/</location>

       <directlocation>http://java.sun.com/products/jlf/ed2/book/HIG.Part01.html</directlocation>

     </link>

   </category>



   <category id="2" name="Multimedia (JMF)">

     <link id="11">

       <description>Java Media Framework (JMF)</description>

       <version>0</version>

       <location>http://java.sun.com/products/java-media/jmf/index.jsp</location>

       <directlocation>http://java.sun.com/products/java-media/jmf/reference/docs/index.html</directlocation>

     </link>



     <link id="12">

       <description>JMF - Sound</description>

       <version>0</version>

       <location>http://java.sun.com/products/java-media/sound/index.jsp</location>

       <directlocation>http://java.sun.com/products/java-media/sound/reference/docs/index.html</directlocation>

     </link>

     <link id="13">

       <description>JMF - Graphics</description>

       <version>0</version>

       <location>http://java.sun.com/products/java-media/2D/index.jsp</location>

       <directlocation>http://java.sun.com/products/java-media/2D/reference/docs/index.html</directlocation>

     </link>

     <link id="14">

       <description>JMF - Images</description>

       <version>0</version>

       <location>http://java.sun.com/products/java-media/jai/index.jsp</location>

       <directlocation>http://java.sun.com/products/java-media/jai/reference/docs/index.html</directlocation>

     </link>

   </category>

   

   <category id="3" name="Java Web Start (JNLP)">

     <link id="15">

       <description>Java Web Start</description>

       <version>0</version>

       <location>http://java.sun.com/products/javawebstart/index.jsp</location>

       <directlocation>http://java.sun.com/products/javawebstart/reference/docs/index.html</directlocation>

     </link>

     <link id="16">

       <description>JDK 1.4.2 Java Web Start Developer's Guide</description>

       <version>1.1-139</version>

       <location>http://java.sun.com/j2se/1.4.2/docs/guide/jws/</location>

       <directlocation>http://java.sun.com/j2se/1.4.2/docs/guide/jws/developersguide/contents.html</directlocation>

     </link>

     <link id="17">

       <description>Mindprod's Java Web Start tutorial</description>

       <version>0</version>

       <location>http://mindprod.com/jgloss/javawebstart.html</location>

       <directlocation>http://mindprod.com/jgloss/javawebstart.html</directlocation>

     </link>

   </category>

 </categories>

</links>



info.xsl
CODE
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -->

<html>

   <head>

       <link rel="stylesheet" type="text/css" href="info.css"></link>

       <title>Belangrijke links voor project "2voor12"</title>

   </head>

   <body>

   <xsl:for-each select="links/categories">

       <p>

       <xsl:for-each select="category">

           <h1><xsl:value-of select="name"/></h1>

               <xsl:for-each select="link">

                   <p>

                   <table id="link">

                       <tr>

                           <td id="cellMeaning">Omschrijving:</td>

                           <td id="cellDescription"><xsl:value-of select="description"/></td>

                       </tr>

                       <tr>

                           <xsl:choose>

                               <xsl:when test="version != 0">

                                   <td id="cellMeaning">Versienummer:</td>

                                   <td id="cellVersion"><xsl:value-of select="version"/></td>

                               </xsl:when>

                               <xsl:otherwise>

                                   <td id="cellMeaningDisabled">Versienummer:</td>

                                   <td id="cellValueDisabled">(Niet toepasselijk)</td>

                               </xsl:otherwise>

                           </xsl:choose>

                       </tr>

                       <tr>

                           <td id="cellMeaning">Locatie:</td>

                           <td id="cellValue"><a href="{location}"><xsl:value-of select="location"/></a></td>

                       </tr>

                       <tr>

                           <td id="cellMeaning">Directe locatie:</td>

                           <td id="cellValue"><a href="{directlocation}"><xsl:value-of select="directlocation"/></a></td>

                       </tr>

                   </table>

                   </p>

               </xsl:for-each>

       </xsl:for-each>

       </p>

   </xsl:for-each>

   </body>

</html>

</xsl:template>

</xsl:stylesheet>



De gebruiker opent deze XML, die uiteraard bij jullie wordt gehost, en ziet een netjes overzicht van links met wat omschrijving etc., met een mooie CSS style sheet eraan gehangen.

Het voordeel is dat die XML gemakkelijk (al dan niet handmatig) kan worden aangepast, zonder dat je je druk hoeft te maken om de opmaak (bijv. tabellen).
Alain
En als je dan een link wilt toevoegen, wijzigen of verplaatsen heb je verstand van XML en toegang tot de server nodig. ;-)
Open the Sourceror
Nee, daarom moet er een koppeling tussen die file en een PHP script zijn.
Met een formpje vul je je link-informatie in en klaar is kees.
Alain
QUOTE(Open the Sourceror)
Nee, daarom moet er een koppeling tussen die file en een PHP script zijn.
Met een formpje vul je je link-informatie in en klaar is kees.


Dan heb je niet echt een flexibele linkenpagina ... Iets wat wij wel graag wilden. ;-) Overigens zou ik niet snel XML gebruiken (zeker niet als vervanging voor een database, want dat IS het niet), omdat ik het voordeel er niet van inzie. ;-) (Leuk om databestanden over te sturen op een gestructureerde manier, maar voor het maken van een linkenpagina als deze zie ik het voordeel niet. ;-))

Screenshot (bij de linkjes in de bovenste balk mag je zelf wat voorstellen, lijkt me wel duidelijk ;-)):

[img]http://members.home.nl/alainschreurs/linkenpagina/linkenpagina_klein.png[/img]
Clickable.
Open the Sourceror
QUOTE(Alain)
QUOTE(Open the Sourceror)
Nee, daarom moet er een koppeling tussen die file en een PHP script zijn.
Met een formpje vul je je link-informatie in en klaar is kees.


Dan heb je niet echt een flexibele linkenpagina ... Iets wat wij wel graag wilden. ;-)

Wat is er minder flexibel aan dan? :shock:

QUOTE
Overigens zou ik niet snel XML gebruiken (zeker niet als vervanging voor een database, want dat IS het niet), omdat ik het voordeel er niet van inzie. ;-) (Leuk om databestanden over te sturen op een gestructureerde manier, maar voor het maken van een linkenpagina als deze zie ik het voordeel niet. ;-))

Maar voor een simpel paginaatje met links is het goed te doen hoor. Veel minder load dan zo'n PHP-scriptje om wat HTML weer te kunnen geven.

QUOTE

Screenshot (bij de linkjes in de bovenste balk mag je zelf wat voorstellen, lijkt me wel duidelijk ;-)):

[img]http://members.home.nl/alainschreurs/linkenpagina/linkenpagina_klein.png[/img]
Clickable.

Ik heb die pagina al wel bekeken hoor. smile.gif
Waar wat wil je er precies mee zeggen?
boudewijn
Heb je niet bekeken; is het control panel zo te zien. Kun je als gewone user of 'gewone' mod niet bij (ik had het ook nog niet gezien). :wink:
Open the Sourceror
Ik heb de linkenpagina echter al wel bekeken. En die verschilt trouwens weinig van dit control panel.

Maar ik als ik het goed begrijp zit er dus een control panel in die pagina voor speciale users...

Dat kan evenwel met een XHTML pagina, maar als je meer ervaring hebt met pure PHP zal dit vast makkelijker zijn. tongue.gif
Dit is een "Print" versie van onze forums. Om de volledige versie met meer informatie, afbeeldingen en opmaakte bekijken, a.u.b. klik hier.