Rahmen

Ihr benötigt Hilfe oder habt Fragen bei der Erstellung eines eigenen Layouts oder kleinen Veränderungen am Standard Layout, dann ist dies das richtige Forum

Moderatoren: Magnus, mmaass, ablass

Rahmen

Beitragvon ManuelBoesel » Fr 17. Jul 2009, 08:53

Hallo

In der CMS wo ich Artikel auf der Starseite anzeigen kann ist ein rahmen um die Artikel ( bild und text )

wo kann ich den Rahmen weg machen.

Habe schon alle CSS durchforstet aber nichts gefunden


cu Manuel
ManuelBoesel
 
Beiträge: 349
Registriert: Sa 2. Feb 2008, 18:29

Re: Rahmen

Beitragvon Magnus » Fr 17. Jul 2009, 16:03

Hallo Manuel,

da kannst du in den css-Dateien lange suchen :cry: . Diese Formatierung steckt nämlich in der include/functions.mod.inc.php.
Und hier in der Funktion function ReplaceArtikelText, beginnt in der Zeile 2923.
Da ist zweimal dieser switch-Block drin, einmal für Artikel-Bilder und einmal für Kategorie-Bilder. Mit style= wird sogenanntes inline-css definiert, d.h. die css-Anweisungen stehen nicht in einer ausgelagerten Datei sondern wirklich im html-Code. Widerspricht natürlich total der Trennung von Inhalt und Layout, aber ist halt mal so....
Code: Alles auswählen
switch($align){
                  
                  case "left";
                     $style = "style=\"width:" . ($ArtikelObject->imagesmall_width) . "px; border: 1px solid #6D808F; float:left; margin:5px; padding: 2px;\"";
                     break;            
   
                  case "cntr";
                     $style = "style=\"width:" . ($ArtikelObject->imagesmall_width) . "px; border: 1px solid #6D808F; clear:both; margin:5px 5px 5px -" . number_format(((($ArtikelObject->imagesmall_width +2)/2)-5),0) . "px ; position:relative; left:50%; padding: 2px;\" ";
                     break;            
                     
                  case "rgth";
                     $style = "style=\"width:" . ($ArtikelObject->imagesmall_width) . "px; border: 1px solid #6D808F; float:right; margin:5px; padding: 2px;\"";
                     break;            
                  
                  case "none";
                     $style = "style=\"width:" . ($ArtikelObject->imagesmall_width) . "px; border: 1px solid #6D808F; margin:5px; padding: 2px;\"";
                     break;
               }


Hier können jetzt die border-Anweisunge auf 0 gesetzt werden, dann wird der Rahmen nicht mehr angezeigt.

Gibt natürlich noch eine elegantere Lösung, davon aber vielleicht später... ;-)

Gruß

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10

Re: Rahmen

Beitragvon ManuelBoesel » Fr 17. Jul 2009, 16:43

Perfekt Danke

das sie ja gleich mal besser aus.

cu Manuel
ManuelBoesel
 
Beiträge: 349
Registriert: Sa 2. Feb 2008, 18:29

Re: Rahmen um in CMS eingefügte Artikel und Kategorien

Beitragvon Magnus » So 19. Jul 2009, 11:19

Hallo,

die Sache lässt sich noch verbessern:
Die Box bekommt in der Funktion statt der Formatierung eine css-Klasse zugewiesen, nur die Breite muß hier im php-Code noch im inline-Style bleiben. Die Breite lässt sich aber noch mit
Code: Alles auswählen
width:  180px !important;
im css wieder überschreiben.
Der Text kommt in ein span-Tag. Damit lassen sich die einzelnen Elemente (Bild, Link, Text) in der Box über Nachfolge-Selektioren sauber ansprechen.
Die Funktion ReplaceArtikelText (ab Zeile 2923) in /includes/functions.mod.cms.inc.php sieht nach ausführlichem Umbau jetzt so aus (Achtung. danach kommt noch ein ?> ) :
Code: Alles auswählen
function ReplaceArtikelText($Text){

  /********************************************************************************************
   * Darstellung von Shop-Artikeln und Kategorien fuer CMS aufbereiten
   *********************************************************************************************/
      
      preg_match_all('/{\{a\}\{.{8}\}\{.{4}\}\}/',$Text,$hitsArtikel);
      
      if($hitsArtikel){      
      
         foreach($hitsArtikel[0] as $hitArtikel){
   
            $artikelID = (int)substr($hitArtikel,5,(count($hitArtikel)-9));
            
            $ArtikelObject = GetArtikelDetail($artikelID,0,0,$_SESSION["languageid"]);
            
            if($ArtikelObject){
               $align = substr($hitArtikel,15,(count($hitArtikel)-3)); //left, cntr, rght oder none
               $replaceString = "<span class=\"CMS_ImgBoxArt_" . $align . "\" style=\"width:" .  $ArtikelObject->imagesmall_width . "px;\">";
               $replaceString .= "<a href=\"" . URLPFAD . "themes/kategorie/detail.php?artikelid=" . $artikelID . "\">";
               $replaceString .= $ArtikelObject->imagesmall_imagestring ;
               $replaceString .= "<span>";
               $replaceString .= $ArtikelObject->artikel_name;
               $replaceString .= "</span></a></span>";
            }else{
               $replaceString = "";
            }
//            echo "<hr><pre>" . htmlspecialchars($replaceString) . "<pre><hr>";
         
            $Text = str_replace($hitArtikel,$replaceString,$Text);
                 
         }
      }
      
      /********************************************************************************************
       * Darstellung von Shop-Kategorien fuer CMS aufbereiten
       *********************************************************************************************/
   
      preg_match_all('/{\{k\}\{.{8}\}\{.{4}\}\}/',$Text,$hitsKategorie);
      
      if($hitsKategorie){         
      
         foreach($hitsKategorie[0] as $hitKategorie){
   
            $kategorieID = (int)substr($hitKategorie,5,(count($hitKategorie)-9));
            
            $KategorieObject = GetKategorieDetail($kategorieID,$_SESSION["languageid"]);
            
            if($KategorieObject){
               $align = substr($hitKategorie,15,(count($hitKategorie)-3)); //left, cntr, rght oder none
      
               $replaceString = "<span class=\"CMS_ImgBoxKat_" . $align . "\" style=\"width:" .  $KategorieObject->imagesmall_width . "px;\">";
               $replaceString .= "<a href=\"" . URLPFAD . "themes/kategorie/index.php?kategorieid=" . $kategorieID . "\">";
               $replaceString .= $KategorieObject->imagesmall_imagestring . "<br/>";
               $replaceString .= "<span>";
               $replaceString .= $KategorieObject->name;
               $replaceString .= "</span></a></span>";
         
            }else{
               $replaceString = "";
            }
         
            $Text = str_replace($hitKategorie,$replaceString,$Text);         
         }
      }
      
      return $Text;
         
   }//Ende Funktion


Dazu passen der css-Block zur Formatierung des Ganzen: Ich habe den in der contentlayout.css etwa nach Zeile 700 eingefügt:
Code: Alles auswählen
/*die in CMS eingefügten Artikel- und Kategoriebilder*/
.CMS_ImgBoxKat_left,
.CMS_ImgBoxArt_left {
  margin:    5px;
  text-align:   center; /*für IE*/
  float:left;
/*wenn die Breite der Box größer als die Bildbreite sein soll:
  width:  180px !important;  */
}
.CMS_ImgBoxKat_cntr,
.CMS_ImgBoxArt_cntr {
  display:  block;
  margin-right:   auto;
  margin-left:    auto;
  text-align:   center; /*für IE*/
/*wenn die Breite der Box größer als die Bildbreite sein soll:
  width:  180px !important; */
}

.CMS_ImgBoxKat_rght,
.CMS_ImgBoxArt_rght{
  margin:   5px;
  text-align:   center; /*für IE*/
  float:right;
/*wenn die Breite der Box größer als die Bildbreite sein soll: 
  width:  180px !important;*/
}

/*wenn die Breite der Box größer als die Bildbreite sein soll:
.CMS_ImgBoxKat_left span,
.CMS_ImgBoxArt_left span,
.CMS_ImgBoxKat_cntr span,
.CMS_ImgBoxArt_cntr span,
.CMS_ImgBoxKat_rght span,
.CMS_ImgBoxArt_rght span {
  display: block;
}*/


Wie immer: Feedback herzlich willkommen!

Viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10

Re: Rahmen

Beitragvon ManuelBoesel » So 19. Jul 2009, 19:30

Wie gesagt habe ich es mit der ersten lösung schon hinbekommen.

Kondome und Gleitgel von Kondomo.com

cu Manuel
ManuelBoesel
 
Beiträge: 349
Registriert: Sa 2. Feb 2008, 18:29

Re: Rahmen

Beitragvon mmaass » Mo 20. Jul 2009, 05:51

Hallo Manuel,

ein Hinweis, ganz wichtig ist, dass Du die Menüpunkte Impressum, AGB, Versandkosten und Datenschutz oben im Header hast. Ansonsten könntest Du abgemahnt werden, da der Kunde für diese Informationen nicht erst scrollen darf.
Das Widerufsrecht muss nicht in der Navi sein, dass ist nur für den Bestellablauf wichtig, wo wir dies eingebaut haben, dass kann also deaktiv bleiben wie bei der Installation voreingestellt.
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5203
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin


Zurück zu Designfragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
cron