#1

Forwell

Mitglied  (44 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 :-).

 


Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »Forwell« (15.01.2021, 12:29)
#2

W2D Fan

Co-Administratorin  (4549 Punkte)  ·   weiblich  ·   Niederlande  ·   Nachricht senden

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

Mitglied  (44 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

Co-Administratorin  (4549 Punkte)  ·   weiblich  ·   Niederlande  ·   Nachricht senden

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

Moderator  (2298 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 11 für Siquando Shop, Templateübersicht & Support für Shop 11 + Pro Web 8)

#6

Forwell

Mitglied  (44 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

Moderator  (2298 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 11 für Siquando Shop, Templateübersicht & Support für Shop 11 + Pro Web 8)

#8

Forwell

Mitglied  (44 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  (7794 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

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

#10

Forwell

Mitglied  (44 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

Moderator  (2298 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://siquando-designs.de

721 Aufrufe | 11 Beiträge