Gamux Game Entwicklung  
     

Left Nav Mit Facebook verbinden Registrieren Lexikon Lexikon Interessengemeinschaften Suchen Heutige Beiträge Alle Foren als gelesen markieren Right Nav

Left Container Right Container
 
Alt 20.10.2008, 16:01   #11 (permalink)
Neuer Benutzer
 

Standard

arbeite momentan mit dreamweaver. solange man keine grafischen elemente einbaut und die vom programm coden lässt ist das eigentlich ganz ok. ist zwar keine freeware hatte ich aber mal in nem paket mit anderer adobe software erworben.

ich lese hier öfter was vom aufbau eines browsergames auf einem cms.
ist das wirklich sinnvoll? kann ich mir zumindest im zusamenhang mit dem lerneffekt den mein projekt ja haben soll nicht vorstellen.
marius ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 20.10.2008, 18:43   #12 (permalink)
Erfahrener Benutzer
 

Standard

Türlich hat das einen gewissen lerneffekt. Du musst dich ja so oder so in das CMS einarbeiten. Dementsprechend musst du schauen wie bestimmte Klassen schreiben und studierst autoamtisch die Funktionsweise solcher.

Sn0opy ist offline   Mit Zitat antworten An Facebook senden
Alt 20.10.2008, 19:11   #13 (permalink)
Neuer Benutzer
 

Standard

was wäre denn der vorteil wenn ich ein cms benutze? außer weniger arbeit...
marius ist offline   Mit Zitat antworten An Facebook senden
Alt 20.10.2008, 22:15   #14 (permalink)
Erfahrener Benutzer
 

Standard

Zitat:
Zitat von marius Beitrag anzeigen
was wäre denn der vorteil wenn ich ein cms benutze? außer weniger arbeit...
weniger Arbeit

Sn0opy ist offline   Mit Zitat antworten An Facebook senden
Alt 21.10.2008, 09:37   #15 (permalink)
Erfahrener Benutzer
 

Standard

Du hast halt schon solche Sachen wie Userverwaltung usw. Dadurch sparst du eigentlich eine Menge arbeit.
Allerdings kann es natürlich auch sein das du einige Sachen umschreiben musst in einem CMS, da du es anders aufbauen willst.
Auf jedenfall musst du dich in das CMS einarbeiten, was manchmal auch gar nicht so verkehrt ist, so kannst du vielleicht ein bisschen was von der Struktur übernehmen und für dich nutzen.

Als momentanen Editor benutze ich: EasyEclipse for PHP Bei Eclipse gefällt mir einfach die Projektverwaltung

Normal nehme ich aber auch Notepad++
Megger ist offline   Mit Zitat antworten An Facebook senden
Alt 22.01.2009, 16:48   #16 (permalink)
Neuer Benutzer
 

Standard

moin,

das projekt hat jetzt nen moment gelegen und nun gehts weiter.

frage mich gerade wie eine seitenstruktur am sinnvollsten ist. ich will keine frames benutzen aber auch nicht jedesmal eine komplette seite aufsetzen.

gibts es nicht eine andere möglichkeit wie ich das gerüst erhalte und den hauptcontent auf verschiedene dateien zugreifen lassen kann?

oder macht es sogar sinn für jeden menüpunkt eine eigenständige seite zu bauen?

ich denke an so etwas wie eine kopfleiste in der der anmeldestatus, der kontostand oder ähnliche variablen ausgespielt werden die nicht im direkten zusammenhang mit einem menüpunkt stehen.
marius ist offline   Mit Zitat antworten An Facebook senden
Alt 22.01.2009, 17:24   #17 (permalink)
Neuer Benutzer
 

Standard

macht eine kombination aus "div" und "include" sinn?
marius ist offline   Mit Zitat antworten An Facebook senden
Alt 22.01.2009, 17:39   #18 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

Hi,
also ich habe das ganze wie folgt aufgebaut:
Als erstes habe ich eine kleine Klasse für die Layoutinhalte erstellt:
PHP-Code:
<?php
class Template
{
//Seitenstart
function startheader()
{
   echo 
"<h1>Titel der Seite und so</h1>";
}

//Start des Inhaltes
function page($title)

  echo 
"<h2>".$title."</h2>";
  echo 
"<div id=\"body\" style=\"backgorund-color:#DDFFFF\">";
}

//Ende des Inhaltes
function pageend()
{
  echo 
"</div>";
}

//Footer
function footer()
{
  echo 
"Copyright by ME 2009";
}
}
?>
Jetzt muss das ganze nur noch eingesetzt werden
PHP-Code:
<?php
include "template.class.php"// Templateklasse einbinden
$template = new Template();
$template->startheader();
$template->page("News");
echo 
"Text und so<br />";
echo 
"Text und so<br />";
echo 
"Text und so<br />";
echo 
"Text und so<br />";
echo 
"Text und so<br />";
$template->pageend();
$template->footer();
?>
Ist natürlich nur beispielhaft und du musst es für deine Bedürfnisse anpassen

Grüße
Sebastian

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 05.04.2009, 18:45   #19 (permalink)
Neuer Benutzer
 

Standard

Zitat:
macht eine kombination aus "div" und "include" sinn?
Ja macht es am bestem immer alles Zentrall von einer datei ausgehen aufbauen. Normal von der index.php aus weg.

Fehler die oft Anfangs gemacht werden sind alles in jede Datei zu schreiben also immer und immer wieder die Ganze Html seite in eine Datei zu schreiben ist das was man auf keinen fall machen sollte erschwährt nacher ungemeihn die Arbeit.

@Sebastian

Der Beispiel code hat überhaupt nix mit einer Template zu tun bis auf das du den namen Template dafür verwendest.

@marius
Ich kann dir auch nur raten gleich Template zu verwenden die Code trennung zwischen php und Html erleichtert einen die Fehler suche.

Für den Anfang wenn du möchtest stell ich dir Meine Template klasse zu verfügung.

PHP-Code:
<?php 
/**
* Template Klasse
* @version 2.4 
* @author Splasch
* Verschachtelte Templates files
* Schleifen Loop Funktion startet gleich
* Loop array prüfung
* Fehler in Loop behoben
**/ 
class Template
{
   protected 
$template;  /* Template Inhalt */ 
   
protected $templateDir;    // Der Ordner in dem sich die Template-Dateien befinden.
   
protected $loop;        # Array Schleifen füll Werte
   
public      $liste;       #Lade Reihenfolge der Template Datein
   
/**
* Klassen aufruf - Lade Template file von $path
* @param Str $path
*/
public function __construct($path '')
{
 if (
file_exists($path) == false)
  {
   throw new 
Exception ('Template File nicht gefunden path: `' $path '`');
  }
 if (
$tpl file_get_contents($path))
  {
    
$this->templateDir=dirname($path).DIRECTORY_SEPARATOR#Kombilität zu Linux"\\"
    
$this->replace($tpl); 
  }
}

/**
* replace() - Ersetzt platzhalter für includierte Files und Kommentaren
* @param Str $str enthält der Template
* @return String
*/
protected function replace($str)
{
// Includes ersetzen ( {include="..."} )
 
$liste=null;
 while(
preg_match_all("/".'{'."include=\"(.*)\"".'}'."/isUe"$str,$file,PREG_PATTERN_ORDER))
 {
  foreach (
$file[1] as $datei)
  { 
   try
   {
      
$file=$this->templateDir.$datei.".tpl";
      
$liste.=$file.", ";
      
$this->liste=$liste# Für fehler suche Ausgabehilfe
      
if(file_exists($file) == false)
      { 
       throw new 
Exception();
       }
   }
   catch(
Exception $e)
   {
      die(
"Template File nicht gefunden path:<b>\"".$file."\"</b><br>"
      
.$e->getFile().$e->getLine().$e->getTraceAsString()
      .
"<br><b>Ladereihenfolge der Templatefiles: </b>".$liste);
   }
  } 
// ende foreach
  
$str preg_replace("/".'{'."include=\"(.*)\"".'}'."/isUe""file_get_contents(\$this->templateDir.'\\1'.'.'.'\\2'.'tpl')"$str);
 } 
// ende while
 
 
$this->template=$str;
}
/**
 * con - Inhalt Umlaute Sonderzeichen Html Konform umwandeln
 * @param Str $in
 */
public function con($in)
{
 
$suche=array("ä","Ä","ö","Ö","ü","Ü","ß","€");
 
$ersatz=array("&auml;","&Auml;","&ouml;","&Ouml;","&uml;","&Uml;","&szlig;","&euro");    
 
$in=str_replace ($suche,$ersatz$in);    
 return 
$in;
}
/**
 * setLoop - Inhalt Platzhalter für Schleifen 
 * @param Str $name
 * @param Array $inhalt 
 */
public function setLoop($name,$inhalt)
{
 
$this->loop[$name]=$inhalt;
 
preg_match("/{loop=(.*)}(.*){loop=\\1 end}/Usie"$this->template$str);  
 if (!empty(
$str[1])) // Wenn Schleife dann Teile tauschen
 
{
  
#Prüfen ob $inhalt ein array ist    
  
if(is_array($inhalt))
  {
   
$this->replace_loop($str[1],$str[2]); #loop Name und Loop Inhalt übergeben
  
}
  else
  {
  
$this->template preg_replace("/{loop={$name}}.*{loop=$name end}/Uis"""$this->template);
  }
 } 
#ende empty
}
/**
 * replace_loop - Loop Schleifen ausführen und Inhalt Ersetzen
 * @param Str $name - Name der Schleife die Ersetzt wird
 * @param Str $in - Inhalt der Html Elemente Innerhalb der Schleife
 */
protected function replace_loop($name,$in)
#Umlaute Html komform ersetzen
 
$in=$this->con($in);
 if (isset(
$this->loop[$name]) && is_array($this->loop[$name]))
  { 
$neu=""$str=0;$i=0;$last="";     
   foreach (
$this->loop[$name] as $key=>$inhalt)
   {  
$str++;
    foreach(
$inhalt as $replace)
    { 
#Hinweis keine umlaute oder Euro zeichen sonst kommt null raus fehler  
     #var_dump($neu);      
     
if ($str==1){$neu[]= preg_replace("/{.$key}/us"$replace$in);}# Anzahl der Wiederholungen zusammen bauen 
     
else
     {
$i++; #echo $replace.":".$key.":".$i;
      
$neu[$i-1]= preg_replace("/{.$key}/Usi"$replace$neu[$i-1]);#Nur mehr die Werte aus dem String ersetzen      
     
}     
    }
#end replace
    
if ($last!=$str){$i=0;}
     
$last=$str;
   }
   
$neu=implode(""$neu);
   
$this->template preg_replace("/{loop={$name}}.*{loop=$name end}/Uis""$neu"$this->template);     
  } 
#ende if isset    
}

/**
* __set() - Ersetze den Platzhalter mit dem Inhalt der Variable $replacement
* @param Str $placeholder
* @param Str $replacement
*/
public function __set($placeholder$replacement)
{
 
preg_match("/{loop=(.*)}(.*){loop=\\1 end}/Usie"$this->template$str);  
 if (!empty(
$str[1])) // Wenn Schleife dann Teile tauschen
 
{  
  
$this->replace_loop($str[1],$str[2]); #loop Name und Loop Inhalt übergeben
 
#ende empty
 
 
$this->template str_replace('{$'.$placeholder.'}'$replacement$this->template);
 
# Wenn Include im Template ist neu Parsen
 
if (preg_match("/".'{'."include=\"(.*)\"".'}'."/isUe"$this->template))
 {
  
$this->replace($this->template); 
 } 
//ende preg_match
//ende Set

/**
* getTpl() - Gibt den Template Inhalt zurück
* @return String
*/
public function getTpl()
{
 
// Kommentare löschen
 
$this->template preg_replace("/".'\{\*'."(.*)".'\*\}'."/isUe"""$this->template);
 return 
$this->template;
}

// Klasse ende
?>
Erklärung und Verwendung der Template klasse siehe Anhang

Hier noch ein parr Beispiele wie man die Template klasse verwendet
index.php datei
PHP-Code:
<?php
// Das Templatesystem einbinden
include("template.php");
$basisTpl="templates"#Basis Template Verzeichniss vorgeben

// Eine neue Instanz der Template Klasse erzeugen
$tpl = new Template($basisTpl.'\index.tpl');
// Das Template laden

// Die Sprachdatei laden
$langs[] = "de/lang_main.php";
//$lang = $tpl->loadLanguage($langs);

//Schleifen Test 
$test['link'][]= 'wert1';
$test['link'][] = 'wert2';                
$test['link'][] = 'wert3';
$test['linkname'][]="Ausgabe1";    
$test['linkname'][]="Ausgabe2";    
$test['linkname'][]="Ausgabe3";    

$test['lk'][]= 'bau1';
$test['lk'][] = 'bau2';                
$test['lk'][] = 'bau3';

$tpl->setLoop("hallo",$test);

//Schleifen Test 
$tet['nix'][]= 'one';
$tet['nix'][] = 'two';                
$tet['nix'][] = 'five';        

$tet['ni'][]= ' 1';
$tet['ni'][] = ' 2';                
$tet['ni'][] = ' 5';    

$tpl->setLoop("mux",$tet);
unset (
$tet);
$tet['long'][]= 'Einfach';
$tet['long'][] = 'Zweifach';                
$tet['long'][] = 'Dreifach';

$tpl->setLoop("einfach",$tet);

//Einfacher Schleifen test



// Dem Platzhalter $titel den Text "Willkommen" zuweisen
$tpl->title="Willkommen";

// Dem Platzhalter $name den Text "Benutzer" zuweisen
$tpl->name='{include="othertemplate"}';

// Dem Platzhalter $time den aktuellen Timestamp zuweisen
$tpl->time=time();
//var_dump($tpl);
// Und das fertige Template ausgeben
echo $tpl->getTpl();
?>
Dazu noch die Template datei selbst
index.tpl
PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<
head>
<
title>Mein Templatesystem:: {$title}</title>
<
meta http-equiv="Content-Type" content="text/xhtml; charset=ISO-8859-1" />
</
head>
<
body>
<
h1>Template Test</h1>
Hallo {$name}. Der Aktuelle Timestamp lautet: {$time}
{* 
Ein Template einbinden *}

{
loop=hallo}
<
a href="{$link}">{$linkname}</a>
<
b>gjgh{$lk}</b><br>
 {
loop=mux}
  <
i>{$nix} {$ni}</i><br>
 {
loop=mux end}
{
loop=hallo end}

{
loop=einfach}
<
h4>{$long}</h4>
{
loop=einfach end}

{include=
"othertemplate"}
{include=
"nocheine"}
{include=
"othertemplate"}
</
body>
</
html
Mfg Splasch
Angehängte Dateien
Dateityp: zip template.zip (6,1 KB, 0x aufgerufen)

Geändert von splasch (05.04.2009 um 18:55 Uhr).
splasch ist offline   Mit Zitat antworten An Facebook senden
Antwort

Themen-Optionen
Ansicht

Forumregeln
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:24 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0