Hallo,
ich habe das Kalender Programm iCagenda. Ich bin auch zufrieden damit und habe mir ein Override angelegt, was zu meinen Bedürfnissen passt
Bis auf eine Sache und da komme ich leider nicht weiter mit meinen "leider" zu wenigen PHP-Kenntnissen.
Im Modul wird folgendes angezeigt:
- Datum
- Uhrzeit
- Termin
- Beschreibung
Ich habe es hinbekommen - das war nicht vorgesehen vom Entwickler - das er mir die Kategorie mit anzeigt. Diese wird aber nur als Zahl angezeigt. Ich hätte gerne den Kategorietitel eingeblendet. Dieser Titel steht aber in einer anderen Tabelle - und da wird es für mich zu kompliziert.
Meine Frage ist, wie kann ich denn meine Kat-ID aus der tabelle "hqwls_icagenda_events" mit der Kat-ID "hqwls_icagenda_category" vergleichen und den Titel ausgeben??? Kann mir da jemand helfen?
defined('_JEXEC') or die;
use Joomla\CMS\Language\Text as JText;
$background = $EVENT_IMAGE
? 'background: url(' . $thumb_img . ') no-repeat center center; color: white;'
: 'background: ' . $cat_color . '; color: ' . $font_color . ';';
?>
<div class="termin-block">
<div class="termin-datum">
<?php // Date Box ?>
<?php if (empty($item->period)) {
echo '<div class="einzeltermin"> ' . JHtml::_('date', $item->next, JText::_('d.m.y')) . '</div>';
} else {
echo '<div class="wochentermin"> ' . JHtml::_('date', $item->startdate, JText::_('d.m.y')) . ' -';
} ?>
<?php if (empty($item->period)) {
echo '';
} else {
echo '' . JHtml::_('date', $item->enddate, JText::_('d.m.y')) . '</div>';
} ?>
</div>
<div class="termin-uhrzeit" >
<?php if ($displayTime) : ?>Beginn: <?php echo $nextTime; ?> h<?php endif; ?>
</div>
<?php // Category ?>
<?php if (empty($item->catid)){
echo '';
} else {
echo $catid;} ?>
<div class="termin-titel">
<?php // Title ?>
<?php echo htmlspecialchars($eventTitle); ?>
<div class="termin-kurz">
<?php // Short Description ?>
<?php if ($display_shortDesc && $shortDesc): ?>
<?php if (empty($item->shortdesc)){
echo '';
} else {
echo $shortDesc; }?>
<?php endif; ?>
</div>
<?php if ( ($eventVenue)
|| ($display_city && $eventCity)
|| (($ic_datetime || $ic_date || $ic_time) && $nextDate) ) : ?>
<div class="ic-block">
<?php // Venue ?>
<?php if ($eventVenue): ?>
<div class="iceventlist-venue ic-inline-block">
<span class="eventort"></span>
<?php echo htmlspecialchars($eventVenue); ?>
</div>
<?php endif; ?>
<?php // Date (& time) ?>
<?php if (($ic_datetime || $ic_date || $ic_time) && $nextDate): ?>
<?php $block_class = ($eventVenue || ($display_city && $eventCity)) ? ' ic-inline-block' : ' ic-block'; ?>
<div class="ic-datetime-div<?php echo $block_class; ?>">
<?php if ($ic_datetime): ?>
<?php echo '<span class="ic-datetime-label">' . JText::_( 'MOD_IC_EVENT_LIST_DATE' ). '</span>'; ?>
<?php echo $eventDate; ?><?php if ($displayTime) : ?>, <?php echo $nextTime; ?><?php endif; ?>
<?php elseif ($ic_date): ?>
<?php //echo JText::_( 'MOD_IC_EVENT_LIST_AT_TIME' ); ?>
<?php echo '<span class="ic-datetime-label">' . JText::_( 'MOD_IC_EVENT_LIST_DATE' ). '</span>'; ?>
<?php echo $eventDate; ?>
<?php elseif ($ic_time): ?>
<?php //echo JText::_( 'MOD_IC_EVENT_LIST_AT_TIME' ); ?>
<span class="eventtime"></span>
<?php echo $nextTime; ?> Uhr
<?php endif; ?>
</div>
<?php endif; ?>
</div>
<?php endif; ?>
<?php // Short Description ?>
<?php if ($display_shortDesc && $shortDesc): ?>
<div class="termin-more<?php if($item->desc){echo "-show";} else {echo "-hide";} ?>" >
<div class="readmore">
<a href="<?php echo $urlEvent; ?>">
<?php echo JTEXT::_('COM_ICAGENDA_WEITER'); ?>
</a> </div>
</div>
<?php endif; ?>
</div>
Alles anzeigen
Das ist meine PHP-Datei vom Modul.
<?php // Category ?>
<?php if (empty($item->catid)){
echo '';
} else {
echo $catid;} ?>
Dieser Befehl gibt den Kategorie-ID-Wert. Der Titel dazu steht aber in der Tabelle:
`hqwls_icagenda_category` Spalte "title"
Ich wollte schauen wie ich eine select-Abfrage mache, und dort die beiden ID´s miteinander vergleiche und er dann den Titel ausspuckt. Aber ich finde nichts in diese Richtung ... vielleicht suche ich auch falsch.
Hat jemand einen Tipp für mich, wie ich das hinbekommen kann???
Viele Grüße
Beate