#1

Forwell

Grünschnabel  (15 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://www.aal-homecare24.de

Spaltenbreite einer Tabelle individuell ändern

Hallo,

es geht um eine Tabelle mit 4 Spalten, in der ersten spalte befinden sich nur 1 oder 2 Zeichen, fast wie eine Aufzählung.

Man kann zwar die einzelnen Spalten die Breite definieren, allerdings ist Breite immernoch zu breit (selbst bei "extra schmal".

Welche Möglichkeit habe ich um die Breiten individuell anzupassen?


Grüße Mike

PS: Ich kann zwar Zaubern, aber hierfür reicht es einfach nicht :-).

 

#2

W2D Fan

Moderatorin  (3482 Punkte)  ·   weiblich  ·   Niederlande  ·    Nachricht senden
 http://www.w2dfan.nl

DIESEN Beitrag unter Faqs | Anleitungen | Tipps & Tricks für ProWeb hast du gesehen??


Gruß,
Marjorie

Hilfe ist nicht selbstverständlich. Deshalb halte ich ein "Dankeschön", nachdem jemandem geholfen wurde, für überaus angebracht und höflich.

#3

Forwell

Grünschnabel  (15 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://www.aal-homecare24.de

Hallo Marjorie,

Die Lösung: Entfernt den Code, der die vordefinierten Breiten setzt. Dadurch passen sich die Spalten-Breiten dann automatisch an den Inhalt der Tabelle an. Diese Code-Änderung ist relativ einfach:

  1. Navigiert auf Eurem Server zu classes > plugins > ngpluginparagraph > ngpluginparagraphtable
  2. Downloaded die ngpluginparagraphtable.php Datei zu Eurem Computer
  3. Erstellt eine Sicherheits-Kopie der Datei falls etwas schief geht !!!
  4. Öffnet die Datei mit einem Editor Eurer Wahl und findet folgenden Code (Zeilen 335 bis 339):
    if ($row == 0 && $this->columnHeaders) {
    	$tagTD->style->selectors ['width'] = $this->headerWidthCalc [$column] . 'px';
    } else {
    	$tagTD->style->selectors ['width'] = $this->columnWidthCalc [$column] . 'px';
    }
  5. Jetzt diesen Code entweder mit // (per Zeile) oder /**/ auskommentieren oder löschen
  6. Speichert die Datei
  7. Ladet die Datei wieder auf den Server in den gleichen Ordner. Falls Euer FTP-Programm Euch dazu auffordert, überschreibt die existierende Datei.

Allerdings steht in Zeile 335-339 was anderes.

Den Part finde ich ab Zeile 178

if ($row == 0 && $this->columnHeaders) {
                   if ($this->responsive) {
                       $tagTD->style->selectors ['width'] = number_format($this->headerWidthCalc [$column] * 100 / $this->renderWidth, 2, '.', '') . '%';
                   } else {
                       $tagTD->style->selectors ['width'] = $this->headerWidthCalc [$column] . 'px';
                   }
               } else {
                   if ($this->responsive) {
                       $tagTD->style->selectors ['width'] = number_format($this->columnWidthCalc [$column] * 100 / $this->renderWidth, 2, '.', '') . '%';
                   } else {
                       $tagTD->style->selectors ['width'] = $this->columnWidthCalc [$column] . 'px';
                   }
               }
               $tagTD->content = "\r\n" . $this->renderCell($column, $row) . "\r\n";
               $tagTD->style->selectors ['text-align'] = $this->textAlign;
               $tagTD->style->selectors ['vertical-align'] = $this->verticalAlign;
               $tagTR->content .= $tagTD->render();
           }

           if ($row == 0 && $this->columnHeaders) {
               $tagHead->content .= $tagTR->render();
           } else {
               $tagBody->content .= $tagTR->render();
           }
       }

 

Ich habe folgendes probiert ohne Erfolg

/* if ($row == 0 && $this->columnHeaders) {
                   if ($this->responsive) {
                       $tagTD->style->selectors ['width'] = number_format($this->headerWidthCalc [$column] * 100 / $this->renderWidth, 2, '.', '') . '%';
                   } else {
                       $tagTD->style->selectors ['width'] = $this->headerWidthCalc [$column] . 'px';
                   } */
               } else {
                   if ($this->responsive) {
                       $tagTD->style->selectors ['width'] = number_format($this->columnWidthCalc [$column] * 100 / $this->renderWidth, 2, '.', '') . '%';
                   } else {
                       $tagTD->style->selectors ['width'] = $this->columnWidthCalc [$column] . 'px';
                   }
               }
               $tagTD->content = "\r\n" . $this->renderCell($column, $row) . "\r\n";
               $tagTD->style->selectors ['text-align'] = $this->textAlign;
               $tagTD->style->selectors ['vertical-align'] = $this->verticalAlign;
               $tagTR->content .= $tagTD->render();
           }

           if ($row == 0 && $this->columnHeaders) {
               $tagHead->content .= $tagTR->render();
           } else {
               $tagBody->content .= $tagTR->render();
           }
       }
 

Was machen ?

 


Grüße Mike

PS: Ich kann zwar Zaubern, aber hierfür reicht es einfach nicht :-).

 

#4

W2D Fan

Moderatorin  (3482 Punkte)  ·   weiblich  ·   Niederlande  ·    Nachricht senden
 http://www.w2dfan.nl

Keine Ahnung. Ich verwende das nicht und habe auch absolut keine Zeit um das zu testen.


Gruß,
Marjorie

Hilfe ist nicht selbstverständlich. Deshalb halte ich ein "Dankeschön", nachdem jemandem geholfen wurde, für überaus angebracht und höflich.

#5

Thomas

Co-Admin  (2072 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://siquando-designs.de

Was machen ?

Versuchen zu verstehen ...

Du kommentierst den if -Teil eine if else Anweisung aus, das kann nicht funktionieren. Der interessante Teil (für dein Fall) spielt sich in der privaten Funktion calculateColumnWidth ab. Zuerst wäre interessant zu erfahren welche Werte $factor erhalten kann, das wären dann Werte zwischen -3 und 3 (-3 extra schmal / 3 extra breit). Mit dieser Erkenntnis musst du nun nur noch die Gleichung $width = 100 + $factor * 20; ein wenig anpassen. 


Viele Grüße
Thomas

siquando-designs.de (NEU: KARO Flex Layout, Santa Cruz Pro für Pro Shop und Apollon 10 für Siquando Shop, Templateübersicht & Support für Shop 10 + Pro Web 3)

#6

Forwell

Grünschnabel  (15 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://www.aal-homecare24.de

Hallo Thomas,

sorry das verstehe ich nicht wirklich, bin leider etwas unbeholfen bzw. und weis jetzt nicht was ich wo eintragen soll.

 


Grüße Mike

PS: Ich kann zwar Zaubern, aber hierfür reicht es einfach nicht :-).

 

#7

Thomas

Co-Admin  (2072 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://siquando-designs.de

Eine sinnvoller Multiplikator von $factor wäre 10 bis 30, also $width = 100 + $factor * 10; bis $width = 100 + $factor * 30; wobei bei 30 die Breitenanpassung zunimmt, extra schmal also schmaler wird.


Viele Grüße
Thomas

siquando-designs.de (NEU: KARO Flex Layout, Santa Cruz Pro für Pro Shop und Apollon 10 für Siquando Shop, Templateübersicht & Support für Shop 10 + Pro Web 3)

#8

Forwell

Grünschnabel  (15 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://www.aal-homecare24.de

Hallo Thomas,

leider bin ich ein geistiger Tiefflieger, im Anhang ist die Datei worum es (glaube ich) geht "ngpluginparagraphtable.php"

Keine Ahnung wo ich was eintragen kann soll.

Ich bitte um Hilfe.


Grüße Mike

PS: Ich kann zwar Zaubern, aber hierfür reicht es einfach nicht :-).

 

#9

Volker W.

Administrator  (7489 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Anhang aus letztem Beitrag gelöscht.

Hier werden keine originalen Dateien von Siquando hochgeladen! Das verstößt gegen das Urheberrecht.


Wende Dich bzgl. Anpassung direkt an Thomas. Er wird Dir gegen einen zu vereinbarenden Obolus sicherlich zielführend helfen können.


Viele Grüße,
Volker

Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#10

Forwell

Grünschnabel  (15 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://www.aal-homecare24.de

Hallo Volker,

 

habe ich mir im nachhinein schon gedacht, sorry wird nicht mehr passieren.

 

Grüße Mike


Grüße Mike

PS: Ich kann zwar Zaubern, aber hierfür reicht es einfach nicht :-).

 

#11

Thomas

Co-Admin  (2072 Punkte)  ·   männlich  ·   Deutschland  ·    Nachricht senden
 https://siquando-designs.de

191 Aufrufe | 11 Beiträge