• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] - Verschachtelung in php

Yehudi

Guru
Ich versuche gerade eine kleine Änderung in Joomla zu machen.

Auf den ersten Blick erscheint mir die Änderung nicht weiter problematisch zu sein. Doch beim genauen Hinschauen ist der Code sehr merkwürdig verschachtelt. Bevor ich jedoch den gesammten Teil den ich ändern will hier poste eine Frage vorweg: Was hat sowas
Code:
<?php
}
?>

zu bedeuten? Bisher kannte ich nur, dass eine solche Klammer im Code-Ende ist, und nicht am Anfang. Vom Prinzip her geht es die ganze Zeit so, dass dieser Code so strukturiert ist, dass jedesmal die Klammer im nächsten Anfangscode ist. Mache ich eine Änderung, führt es zu unterschiedlichen Ergebnissen, aber nie zu dem was ich bezwecke.
- Keine Änderung, Parse Error, die gesammte Ausgabe wird nicht angezeigt -

Dabei will ich nur Datum und Titel vertauschen.

Googlen und Sufu hilft leider in diesem Fall nicht viel.

edit: Auf gelöst gesetzt.
 

nbkr

Guru
Du kannst PHP und HTML jederzeit mischen. Der gezeigte Code ist so ein Überbleibsel davon. Das dürfte insgesamt so aussehen:

Code:
<?php if ($hell == $freeze) { ?>

  <html>...<b>Microsoft stops Windows and starts his own Linux Distribution</b>...</html>

<?php } ?>
 

TeXpert

Guru
Heul ;) das sind genau die Dinge die mich an dieser Art von PHP-Quelltext (hier besser Quältext genannt) so aufregen....

immer wenn ich sowas:
Code:
<?php
}
?>

sehe wird mir schlecht
 
OP
Y

Yehudi

Guru
nbkr schrieb:
Du kannst PHP und HTML jederzeit mischen. Der gezeigte Code ist so ein Überbleibsel davon. Das dürfte insgesamt so aussehen:

Code:
<?php if ($hell == $freeze) { ?>

  <html>...<b>Microsoft stops Windows and starts his own Linux Distribution</b>...</html>

<?php } ?>

Das Prinzip ist an dem Code gut verständlich, kann man das auch wieder aufmischen?

TeXpert schrieb:
Heul ;) das sind genau die Dinge die mich an dieser Art von PHP-Quelltext (hier besser Quältext genannt) so aufregen....

immer wenn ich sowas:
Code:
<?php
}
?>

sehe wird mir schlecht

Ich habe das befürchtet, und hatte erst noch überlegt die Frage in dem Thread zu stellen, aber das wäre dann auch etwas durcheinander.

Den Code werde ich der Übersicht halber in den nächsten Beitrag setzen. Eigentlich muss nur der Titelblock vor den Datumsblock kopiert werden, den Link dort raus, und beim "Urtitel" statt Titel 'zum Beitrag' rein.
Eigentlich hätte ich mir die Veränderung zugetraut, aber bei der Verschachtelung sehe ich ein Problem.

Kann man das auflösen s.o.? oder anders in die Verschachtelung eingreifen?
 
OP
Y

Yehudi

Guru
Das ist der Code:

Code:
<?php
}
/**
	* Display Table of items
	*/
	function showTable( &$params, &$items, &$gid, $catid, $id, &$pageNav, 
&$access, &$sectionid, &$lists, $order ) {
		global $mosConfig_live_site, $Itemid;
		$link = 'index.php?option=com_content&task=category&sectionid='. 
$sectionid .'&id='. $catid .'&Itemid='. $Itemid;
		?>
		<form action="<?php echo sefRelToAbs($link); ?>" method="post"
 name="adminForm">
		<table width="100%" border="0" cellspacing="0" cellpadding="0">
		<?php
		if ( $params->get( 'filter' ) || $params->get( 'order_select' ) || 
$params->get( 'display' ) ) {
			?>
			<tr>
				<td colspan="4">
					<table>
					<tr>
						<?php
						if ( $params->get( 'filter' ) ) {
							?>
							<td align="right" width="100%" 
nowrap="nowrap">
							<?php
							echo _FILTER .' ';
							?>
							<input type="text" name="filter" value=
"<?php echo $lists['filter'];?>" class="inputbox" onchange="document.adminForm.submit();" />
							</td>
							<?php
						}
	
						if ( $params->get( 'order_select' ) ) {
							?>
							<td align="right" width="100%" 
nowrap="nowrap">
							<?php
							echo '   '. 
_ORDER_DROPDOWN .' ';
							echo $lists['order'];
							?>
							</td>
							<?php
						}
	
						if ( $params->get( 'display' ) ) {
							?>
							<td align="right" width="100%"
nowrap="nowrap">
							<?php
							echo '   
'. _PN_DISPLAY_NR .' ';
							$link = 'index.php?option=com_content&task=category&sectionid=
'. $sectionid .'&id='. $catid .'&Itemid='. $Itemid;
							echo $pageNav->getLimitBox( $link );
							?>
							</td>
							<?php
						}
						?>
					</tr>
					</table>
				</td>
			</tr>
			<?php
		}
		
		if ( $params->get( 'headings' ) ) {
			?>
			<tr>
				<?php
				if ( $params->get( 'date' ) ) {
					?>
					<td class="sectiontableheader<?php echo
 $params->get( 'pageclass_sfx' ); ?>" width="35%">
					 <?php echo _DATE; ?>
					</td>
					<?php
				}
				if ( $params->get( 'title' ) ) {
					?>
					<td class="sectiontableheader<?php echo 
$params->get( 'pageclass_sfx' ); ?>" width="45%">
					<?php echo _HEADER_TITLE; ?>
					</td>
					<?php
				}
				if ( $params->get( 'author' ) ) {
					?>
					<td class="sectiontableheader<?php echo 
$params->get( 'pageclass_sfx' ); ?>" align="left" width="25%">
					<?php echo _HEADER_AUTHOR; ?>
					</td>
					<?php
				}
				if ( $params->get( 'hits' ) ) {
					?>
					<td align="center" class="sectiontableheader
<?php echo $params->get( 'pageclass_sfx' ); ?>" width="5%">
					<?php echo _HEADER_HITS; ?>
					</td>
					<?php
				}
				?>
			</tr>
			<?php
		}

		$k = 0;
		foreach ( $items as $row ) {
			$row->created = mosFormatDate 
($row->created, $params->get( 'date_format' ));
			?>
			<tr class="sectiontableentry<?php echo ($k+1)
 . $params->get( 'pageclass_sfx' ); ?>" >
				<?php
				if ( $params->get( 'date' ) ) {
					?>
					<td>
					<?php echo $row->created; ?>
					</td>
					<?php
				}
				if ( $params->get( 'title' ) ) {
					if( $row->access <= $gid ){
						$link = sefRelToAbs( 'index.php?option=com_content&task=view&id=
'. $row->id .'&Itemid='. $Itemid );
						?>
						<td>
						<a href="<?php echo $link; ?>">
						<?php echo $row->title; ?>
						</a>
						<?php
						HTML_content::EditIcon
( $row, $params, $access );
						?>
						</td>
						<?php
					} else {
						?>
						<td>
						<?php
						echo $row->title .' : ';
						$link = sefRelToAbs
( 'index.php?option=com_registration&task=register' );
						?>
						<a href="<?php echo $link; ?>">
						<?php echo _READ_MORE_REGISTER; ?>
						</a>
						</td>
						<?php
					}
				}
				if ( $params->get( 'author' ) ) {
					?>
					<td align="left">
					<?php echo $row->created_by_alias ?
 $row->created_by_alias : $row->author; ?>
					</td>
					<?php
				}
				if ( $params->get( 'hits' ) ) {
				?>
					<td align="center">
					<?php echo $row->hits ? $row->hits : '-'; ?>
					</td>
				<?php
			} ?>
		</tr>
		<?php
			$k = 1 - $k;
		}
		if ( $params->get( 'navigation' ) ) {
			?>
			<tr>
				<td colspan="4"> </td>
			</tr>
			<tr>
				<td align="center" colspan="4" 
class="sectiontablefooter<?php echo $params->get( 'pageclass_sfx' ); ?>">
				<?php
				$link = 'index.php?option=com_content&task=category&sectionid='. 
$sectionid .'&id='. $catid .'&Itemid='. $Itemid;
				echo $pageNav->writePagesLinks( $link );
				?>
				</td>
			</tr>
			<tr>
				<td colspan="4" align="right">
				<?php echo $pageNav->writePagesCounter(); ?>
				</td>
			</tr>
			<?php
		}
		?>
		<?php
		if ( $access->canEdit || $access->canEditOwn ) {
			$link = sefRelToAbs( 'index.php?option=com_content&task=new&sectionid=
'. $id .'&cid='. $row->id .'&Itemid='. $Itemid );
			?>
			<tr>
				<td colspan="4">
				<a href="<?php echo $link; ?>">
				<img src="<?php echo $mosConfig_live_site;?>/images/M_images/new.png" 
width="13" height="14" align="middle" border="0" alt="<?php echo _CMN_NEW;?>" />
				 <?php echo _CMN_NEW;?>...
				</a>
				</td>
			</tr>
			<?php
		}
		?>
		</table>
		<input type="hidden" name="id" value=
"<?php echo $catid; ?>" />
		<input type="hidden" name="sectionid" value=
"<?php echo $sectionid; ?>" />
		<input type="hidden" name="task" value=
"<?php echo $lists['task']; ?>" />
		<input type="hidden" name="option" value=
"com_content" />
		</form>
		<?php
	}


	/**
	* Display links to content items
	*/
	function showLinks( &$rows, $links, $total, $i=0, $show=
1, $ItemidCount ) {
		global $mainframe;

		if ( $show )
 {
			?>
 

TeXpert

Guru
Yehudi schrieb:
nbkr schrieb:
Du kannst PHP und HTML jederzeit mischen. Der gezeigte Code ist so ein Überbleibsel davon. Das dürfte insgesamt so aussehen:

Code:
<?php if ($hell == $freeze) { ?>

  <html>...<b>Microsoft stops Windows and starts his own Linux Distribution</b>...</html>

<?php } ?>

Das Prinzip ist an dem Code gut verständlich, kann man das auch wieder aufmischen?

das ist arbeit, aber ein erster Hack wäre:
Code:
<?php if ($hell == $freeze) {

  echo "<html>...<b>Microsoft stops Windows and starts his own Linux Distribution</b>...</html>";

} ?>
also im Prinzip aus jeder Zeile HTML einen String machen und den rausschreibne.
 
OP
Y

Yehudi

Guru
TeXpert schrieb:
das ist arbeit, aber ein erster Hack wäre:
Code:
<?php if ($hell == $freeze) {

  echo "<html>...<b>Microsoft stops Windows and starts his own Linux Distribution</b>...</html>";

} ?>

Das mit dem Aufwand habe ich mir schon gedacht, den Tipp habe ich gleich schon mal das erste mal angewendet. Und kein Parse errro, oder eine Veränderung, die ich nicht wollte. Ich gehe jetzt erst mal das ganze Teil durch, und check nach jeder Änderung gleich das ab. Und wenn ich das dann in den nächsten Tagen durch habe, werde ich es noch mal versuchen, und ein Feedback hinterlassen.

Danke Dir.
 

TeXpert

Guru
die andere Alternative hatte ich ja schon in dem anderen Thread gepostet mehre Strings aufbauen:

z.B.
Code:
<?php 
....
$head = "<html><head>foobar<title>blah</title></head><body>";
$footer = "</body></html>";

$ausgabe ="blah blah blah";

// berechne etwas
$ausgabe .= "die Werte sind: $Value";
// berechne etwas
$ausgabe .= "die Werte sind: $Value";
// berechne etwas
$ausgabe .= "die Werte sind: $Value";

$ausgabe .= "das wars";

print $header;
print $ausgabe;
print $footer;
?>
 
OP
Y

Yehudi

Guru
Hallo TeXpert,

ich bleibe hier bei der ersten Version von Dir, da ich hier ja in den Quelltext eingreife, und so doch die Übersicht behalte, und immer step by step das überprüfen kann.

Die zweite Variante werde ich auf jedenfall im Hinterkopf behalten, wenn ich wieder selber was baue. Vorläufig ist dies Inhaltsverzeichnis der letzte Schritt für meine dynamische Seite, bevor sie Online geht.

- wie gesagt vorläufig, an meiner statischen Website habe ich im Laufe der Zeit immer ein paar Kleinigkeiten geändert, die in letzter Zeit aber zu immer größeren Arbeitsaufwendungen wurden, selbst wenn es automatisiert war. Mit einer der Gründe, warum ich umsteigen will.
 

Bartlin

Member
Eigentlich muss nur der Titelblock vor den Datumsblock kopiert werden, den Link dort raus, und beim "Urtitel" statt Titel 'zum Beitrag' rein.
Auch wenn es den QT etwas unleserlicher macht, habe ich mal die "Quote"-Funktion benutzt, damit ich die gesuchten Teile formatieren kann. Außerdem habe ich das ganze mal leserlich gemacht:

if ( $params->get( 'headings' ) ) { ?>
<tr>
<?php if ( $params->get( 'date' ) ) { ?>
<td class="sectiontableheader<?php echo $params->get( 'pageclass_sfx' ); ?>" width="35%">
 
<?php echo _DATE; ?>
</td>
<?php }
if ( $params->get( 'title' ) ) { ?>

<td class="sectiontableheader<?php echo $params->get( 'pageclass_sfx' ); ?>" width="45%">
<?php echo _HEADER_TITLE; ?>
</td>
<?php }
Daraus lässt sich folgendes ablesen:
Code:
if($params->get('headings')) { //schaut nach ob der Parameter "heading" gesetzt wurde
   //wenn ja, mache eine neue Tabellenreihe

   if($params->get('date')) { //wurde "date" aktiviert?
      //wenn ja, gib eine Tabellenspalte aus und schreibe das Datum hinein (_DATE <- ist eine (von Mambo) selbstdefinierte Konstante)
   }

   if($params->get('title')) { //ist ein Titel definiert (oder so...)
      //wenn ja, gib eine Tabellenspalte aus und schreibe ihn hinein
   }

alles was du nun tun musst (aus meiner Sicht), ist 1. die beiden Code-Stücke ('date' und 'title') gegeneinander auszutauschen und
2. wo echo _HEADER_TITLE steht, halt dein Zeugs hinschreiben

allerdings ist das nur aus Sicht eines PHP-Programmierers - ich stecke nicht tief genug in Mambo drin, um über die evtl noch weiter dahinter stehenden Funktionen und Methoden bescheid zu wissen

PS: falls es das nicht sein sollte, so habe ich noch in ca. der Mitte des QT folgende Zeile gefunden: <?php echo $row->title; ?> - dort wird ebenfalls der Titel ausgegeben. Jedoch befindet sich das ganze in einer foreach-Schleife, sodass ich davon ausgehen muss, dass dies der Titel der jeweiligen Artikel ist...
 
OP
Y

Yehudi

Guru
@Bartlin: Ich habe das erste ausprobiert, da war keine Änderung. Ich war mir natürlich auch nicht sicher, ob vorherige Teile eine entscheidende Rolle spielen.

Vertauscht habe ich dann diese beiden Zeilen:
Code:
<?php echo $row->title; ?>
Code:
<?php echo $row->created; ?>

Und siehe da es hat sich zumindest gedreht. Danke.

Jetzt müsste ich nur noch den Link extra hinbekommen.Ich poste gleich noch mal den Teil der dafür verantwortlich ist:
Code:
}
        ?>
		
       <?php
		$k = 0;
		foreach ( $items as $row ) {
			$row->created = mosFormatDate 
			($row->created, $params->get( 'date_format' ));
			?>
			<tr class="sectiontableentry<?php echo ($k+1)
			 . $params->get( 'pageclass_sfx' ); ?>" >
				<?php
				if ( $params->get( 'date' ) ) {
					?>
					<td>
                    <a href="<?php echo $link; ?>
                    "><?php echo $row->title; ?></a> </td>
					<?php
				}
				 ?>
                <?php
				if ( $params->get( 'title' ) ) {
					if( $row->access <= $gid ){
						$link = sefRelToAbs
						( 'index.php?option=com_content&task=view&id=
						'. $row->id .'&Itemid='. $Itemid );
						?>
						<td>
						<a href="<?php echo $link; ?>">
						</a>
						<?php echo $row->created; ?>
						<?php
						HTML_content::EditIcon
						( $row, $params, $access );
						?>
						</td>
						<?php
					} else {
						?>
						<td>
						<?php
						echo $row->title .' : ';
						$link = sefRelToAbs
						( 'index.php?option=com_registration&task=register' );
						?>
						<a href="<?php echo $link; ?>">
						<?php echo _READ_MORE_REGISTER; ?>
						</a>
						</td>
						<?php
					}
				}
				 ?>
       <?php
				if ( $params->get( 'author' ) ) {


Ich habe gerade festgestellt, das Bluefish das mit dem Einrücken ziemlich klasse macht. Einen Teil davor und dahinter habe ich als Orientierung gleassen.

Zumindest ist jetzt der verantwortliche Codeteil eingegrenzt. Der Link sitzt derzeit noch auf dem Titel.
 

Bartlin

Member
Warum machst du es dir so schwer, tausch doch einfach beide Bereiche gegeneinander aus, etwa so:
Code:
foreach ( $items as $row ) { 
         $row->created = mosFormatDate 
         ($row->created, $params->get( 'date_format' )); 
         ?> 
         <tr class="sectiontableentry<?php echo ($k+1) 
          . $params->get( 'pageclass_sfx' ); ?>" > 
            <?php 
            if ( $params->get( 'title' ) ) { 
               if( $row->access <= $gid ){ 
                  $link = sefRelToAbs 
                  ( 'index.php?option=com_content&task=view&id= 
                  '. $row->id .'&Itemid='. $Itemid ); 
                  ?> 
                  <td> 
                  <a href="<?php echo $link; ?>"> 
                  </a> 
                  <?php echo $row->title; ?> 
                  <?php 
                  HTML_content::EditIcon 
                  ( $row, $params, $access ); 
                  ?> 
                  </td> 
                  <?php 
               } else { 
                  ?> 
                  <td> 
                  <?php 
                  echo $row->title .' : '; 
                  $link = sefRelToAbs 
                  ( 'index.php?option=com_registration&task=register' ); 
                  ?> 
                  <a href="<?php echo $link; ?>"> 
                  <?php echo _READ_MORE_REGISTER; ?> 
                  </a> 
                  </td> 
                  <?php 
               } 
            }
	    if ( $params->get( 'date' ) ) { 
               ?> 
               <td> 
                    <a href="<?php echo $link; ?> 
                    "><?php echo $row->created; ?></a> </td> 
               <?php 
            }


Jetzt müsste ich nur noch den Link extra hinbekommen

verstehe ich nicht...

Der Link sitzt derzeit noch auf dem Titel.
Und wo soll er hin? Der Link ist in einem <a...>{hier ist der Link}</a>. Das musst du an der Stelle rausnehmen/umändern, wo du es brauchst.

Ich habe gerade festgestellt, das Bluefish das mit dem Einrücken ziemlich klasse macht
Du hast doch auf dem Mac Dreamweaver, oder? Dort gibt es soweit ich mich erinnern kann, auch eine Funktion, die den Quelltext einrückt und so.... aber Bluefish hat natürlich den Vorteil, dass er auf allen Plattformen verfügbar ist und man nicht für jedes BS einen neuen Editor braucht.
 
OP
Y

Yehudi

Guru
Bartlin schrieb:
Warum machst du es dir so schwer, tausch doch einfach beide Bereiche gegeneinander aus, etwa so

das geht nicht, frage mich nicht warum. Das gibt ein Parse Errror.
Aus irgendeinem Grunde scheint auch der Link an dem zweiten <td>..</td> gekettet zu sein. Kopiere ich den Code in die erste Tabelle, dann erscheint der nächste Bericht, und nicht der angewählte, das ist mir gestern nicht aufgefallen.

Den Titel habe ich jetzt erst mal so vor das Datum gesetzt:
Code:
<?php echo $row->title; ?><?php echo $row->created; ?>
Damit ist er dort als Titel ohne Link vorhanden.

Bartlin schrieb:
Jetzt müsste ich nur noch den Link extra hin bekommen

verstehe ich nicht...

Der Link sitzt derzeit noch auf dem Titel.
Und wo soll er hin? Der Link ist in einem <a...>{hier ist der Link}</a>. Das musst du an der Stelle rausnehmen/umändern, wo du es brauchst.

Die Zeile mit dem Link habe ich geändert bekommen:
Code:
<span class="bericht">
<a href="<?php echo $link; ?>"
>zum Bericht
</a></span>

Wundersamerweise bekomme ich im css alle von mir angegebenen Punkte geändert, bis auf die Farbe. Bei den anderen Teilen habe ich es noch nicht ausprobiert. Das Endergebnis sollte so aussehen:
http://www.yehudi.info/
Um den Link an den anderen Text zu bekommen müsste an der Stelle die Tabelle gebrochen werden, was aber derzeit dazu führt, dass wie vorhergehend beschrieben der Link auf einen aktuelleren Titel geht.

Bartlin schrieb:
Ich habe gerade festgestellt, das Bluefish das mit dem Einrücken ziemlich klasse macht
Du hast doch auf dem Mac Dreamweaver, oder? Dort gibt es soweit ich mich erinnern kann, auch eine Funktion, die den Quelltext einrückt und so.... aber Bluefish hat natürlich den Vorteil, dass er auf allen Plattformen verfügbar ist und man nicht für jedes BS einen neuen Editor braucht.
Ich arbeite mit mehreren Editoren. Teile eines Codes kopiere ich in SubEthaEdit, und das hat als Voreinstellung den Linuxdesktop, so das ich dann mit Bluefish öffne und hier poste. SubEthaEdit hat das mit dem Einrücken bei der Entertaste nicht. Dann mach ich das halt in Bluefish.
 
OP
Y

Yehudi

Guru
Ich habe das ganze schon fast wie es sein soll.

Folgende Punkte sind derzeit ungeklärt:
  • Wie bekomme ich den Link "Zum Bericht" rübergeschoben, ohne dass der Link zum nächsten statt zum gleichen Bericht geht?
  • Entfernen der "sectiontableeentry" ohne Parseerror, und dass die einzelnen Elemente von den Css-Klassen komplett angesprochen werden.
    Titel-Datum-zum Bericht
  • Das Datum ändern. Mit welchen Format sollte ich hier arbeiten?
    Ansetzen würde ich hier:
    Code:
    foreach ( $items as $row ) {
                $row->created = mosFormatDate 
    ($row->created, $params->get( 'date_format' ));

Das Datum wird momentan als Mittwoch, 25 Januar 2006 ausgegeben, soll aber in 25.01.2006 umgewandelt werden.
Derzeit bekomme ich den Titel in Schwarz, Datum ist rot soll rot bleiben, wird aber über zwei csses angesprochen. (entferne ich die funktionieren die anderen auch nicht mehr) zum Bericht ist auch rot.

Der derzeitige Stand des zu ändernden Bereiches ist:

Code:
<?php
		$k = 0;
		foreach ( $items as $row ) {
			$row->created = mosFormatDate 
			($row->created, $params->get( 'date_format' ));
			?>
			<tr class="sectiontableentry<?php echo ($k+1) 
			. $params->get( 'pageclass_sfx' ); ?>" >
				<?php
				if ( $params->get( 'date' ) ) {
					?>
					<td><span class="bericht_title"><?php echo $row->title; ?>
					</span> <span class="bericht_date"><?php echo $row->created; ?>
					</span> </td>
					<?php
				}
				 ?>
                <?php
				if ( $params->get( 'title' ) ) {
					if( $row->access <= $gid ){
						$link = sefRelToAbs
						( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid );
						?>
						<td><span class="bericht">
						<a href="<?php echo $link; ?>">
						</a><a href="<?php echo $link; ?>
						">zum Bericht
						</a></span>                        
						<?php
						HTML_content::EditIcon
						( $row, $params, $access );
						?>
						</td>
						<?php
					} else {
						?>
						<td>
						<?php
						echo $row->title .' : ';
						$link = sefRelToAbs
						( 'index.php?option=com_registration&task=register' );
						?>
						<a href="<?php echo $link; ?>">
						<?php echo _READ_MORE_REGISTER; ?>
 
OP
Y

Yehudi

Guru
Folgende Zeile habe ich noch geändert:
Code:
<tr class="sectiontableentry<?php echo ($k+1)
         . $params->get( 'pageclass_sfx' ); ?>" >

zu <tr>

Daraus resultiert aber, dass die class bericht_date nicht über css angesprochen wird. Es bleibt eine schwarze Schrift ohne kursiv, bold und rot.

Bei dem Link "zum Bericht" habe ich eine äußerst sonderbare Darstellung. Alles bekomme ich über 'bericht' per css angesprochen, nur die Farbe selber nicht. Wenn ich 'underline' einstelle, dann ist der Strich blau, und nicht rot, wie das derzeit der Fall ist.

Eine html-Kopie vom derzeitigen Stand:
http://www.yehudi.info/test.html

Und so soll es dann aussehen:
http://www.yehudi.info
(Das beruht aber auf statischen html)
 
OP
Y

Yehudi

Guru
Bis auf zwei Teile habe ich das Aussehn fast hinbekommen:
http://www.yehudi.info/test.html
Den Abstand zwischen den Zeilen werde ich zum Schluß anpassen.

Die Lösungen habe ich in blau gesetzt, und die Probleme in Rot.

  • Wie bekomme ich den Link "Zum Bericht" rübergeschoben, ohne dass der Link zum nächsten statt zum gleichen Bericht geht?
    Habe ich leider noch nicht lösen können. :cry: Hier läßt sich auch wie gehabt nur die Farbe über css nicht ändern.
  • Das Datum ändern. Mit welchen Format sollte ich hier arbeiten?
    Das Format läst sich in der angewählten Sprachdatei ändern dort nach
    _DATE_FORMAT_ suchen, und nach Anleitung von hier:
    http://de.php.net/strftime
    problemlos ins andere Format ändern. Bei der css Datei fehlte ein Punkt bei Bericht.
 

Bartlin

Member
Wie bekomme ich den Link "Zum Bericht" rübergeschoben, ohne dass der Link zum nächsten statt zum gleichen Bericht geht?
Habe ich leider noch nicht lösen können. Hier läßt sich auch wie gehabt nur die Farbe über css nicht ändern.
Habe mir mal deine statische "Entwurfs-Seite" angeschaut... verstehe trotzdem deine Aussage bzgl. des "Rüberschiebens" nicht. Wo willst du den denn "hinschieben"?

Hast du in der CSS mal versucht, die Farbe der Links über folgende Eingabe zu formatieren:
Code:
.bericht a {
// Formatierungen
}
Wichtig sind hierbei der Punkt vor Bericht - damit es eine Klasse wird und das Leerzeichen zwischen der Klasse und dem Unter-Tag (hier a für Links).

<span class="bericht">
<a href="<?php echo $link; ?>">
</a><a href="<?php echo $link; ?>

">zum Bericht
</a></span>
Warum lässt du den Link zweimal hintereinander aufrufen - einmal reicht doch...

PS: Es gibt auch eine Edit-Funktion, damit man nicht 3 Beiträge untereinander schreiben muss und bereits gemachte dunge entweder durchstreichen oder herauslöschen kann - das erleichtert das durcharbeiten ungemein, da ich meistens eine Lösung für deine Problem mir überlegt habe, beim weiteren Durchlesen jedoch merke, dass sie längst gar nicht mehr aktuell sind...
 
OP
Y

Yehudi

Guru
Bartlin schrieb:
Wie bekomme ich den Link "Zum Bericht" rübergeschoben, ohne dass der Link zum nächsten statt zum gleichen Bericht geht?
Habe ich leider noch nicht lösen können. Hier läßt sich auch wie gehabt nur die Farbe über css nicht ändern.
Habe mir mal deine statische "Entwurfs-Seite" angeschaut... verstehe trotzdem deine Aussage bzgl. des "Rüberschiebens" nicht. Wo willst du den denn "hinschieben"?

Derzeit befindet sich das im Code in der zweiten unsichtbaren Spalte den Tabelle:

<td>Titel Datum </td><td>zum Bericht<td>

es soll aber

<td>Titel Datum zum Bericht<td>

so sein. Bei ersterem liegt der zum Bericht an dem linken Spaltenrand siehe hier:
http://www.yehudi.info/test.html
bei zweiterem läge es direkt hinterm Datum, siehe hier:
http://www.yehudi.info

Bartlin schrieb:
Hast du in der CSS mal versucht, die Farbe der Links über folgende Eingabe zu formatieren:
Code:
.bericht a {
// Formatierungen
}
Wichtig sind hierbei der Punkt vor Bericht - damit es eine Klasse wird und das Leerzeichen zwischen der Klasse und dem Unter-Tag (hier a für Links).

Vorher hatte ich es so:
Code:
a.bericht:link, a.bericht:visited {
color: #0000FF;
}

Als ich dort das geändert habe, wurde plötzlich der back tot the top botton blau. Die css Teile habe ich unten angefügt. Irgendwo muss da ein Fehler sein, dass sich diese beiden miteinander beeinflussen, was die Farbe angeht.

Bartlin schrieb:
<span class="bericht">
<a href="<?php echo $link; ?>">
</a><a href="<?php echo $link; ?>

">zum Bericht
</a></span>
Warum lässt du den Link zweimal hintereinander aufrufen - einmal reicht doch...

Ist schon weg, hatte ich übersehen hier zu korrigieren.


Teil der css Datei:
Code:
.backto_thetop {
   float: center;
	font-weight: normal;
	display: block;
	vertical-align: middle;
	font-size: 16px;
	color: #FD020E;
	text-align: left;
	padding-top: 5px;
	padding-left: 18px;
	height: 20px !important;
	height: 25px;
	width: 100%;
	text-decoration: none;
	font-family: Colourbars, Monotype Corsiva, 'Harlow Solid Italic', 'Magneto Fett', Palette, Comic Sans MS;
	}
	
.backto_thetop a:link, a:visited {
    color: #FD020E;
}

.bericht {
	display: block;
	vertical-align: middle;
	font-size: 11px;
	font-style: italic;
	color: #0000FF;
	text-align: left;
	padding-top: 0px;
	padding-left: 0px;
	height: 11px !important;
	height: 11px;
	text-decoration: underline;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}

.bericht a:link, a:visited {
    color: #0000FF;
}
 

Bartlin

Member
if ( $params->get( 'date' ) ) {
?>
<td><span class="bericht_title"><?php echo $row->title; ?>
</span> <span class="bericht_date"><?php echo $row->created; ?>
</span> </td>
<?php
}
?>
<?php

if ( $params->get( 'title' ) ) {
if( $row->access <= $gid ){
$link = sefRelToAbs
( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid );
?>
<td><span class="bericht">
<a href="<?php echo $link; ?>">
</a><a href="<?php echo $link; ?>
">zum Bericht
</a></span>
schmeiß die drei Sachen aus deinem Quellcode raus und du hast das in einer Tabellenspalte. Habe im Moment leider keine Zeit um deine CSS mir anzuschauen...
Viele Grüße
Bartlin
 
OP
Y

Yehudi

Guru
Hallo Bartlin,

Danke, das hat geklappt. Das mit der css-Datei werde ich besser in einem neuen Thread packen, denn das eigentliche Problem ist ja gelöst.
 
Oben