![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen | Thema bewerten | Ansicht |
|
#1
| |||
| |||
Hallo Forum! Was brauche ich : Eine "Auswahl" von Projekten (z.B 6 Stück) werden als eine Art Teaser angezeigt, sollten mehr als 6 insgesamt vorhanden sein, gibs n "Blättern"-Link. Die Teaser enthalten Überschrift, Kurztext, kleines VorschauImage. Zu dieser Auswahl, gibts natürlich auch ne Detailansicht (bei mir soll das in der gleichen Seite, nur in der unteren Hälfte angezeigt werden). Dort gibts dann eben noch nen Langtext, Links, eventuell Downloads und (normalerweise immer) 3 kleine Bilder, wovon immer eins im Grossformat angezeigt wird (nicht als PopUp, sondern direkt auf der Site->JS also) je nachdem welches man angeklickt hat. Sehen kann man das auch oft bei ebay, wenn mehrere Bilder vorhanden sind. Nur zur verdeutlichung hier n link <- Bitte nicht als Werbung ankreiden ;), ich kenne den Verkäufer nicht, war nur das erste Beispiel was ich gefunden hatte .. Des weiteren wäre es ganz nett in der oberen Hälfte eine Art "CUR" Zustand zu markieren, indem ich in den Hintergrund des ausgewählten Projekts einfärbe, aber das is nicht wirklich nötig. Ich würde sagen zu 80% deckt die tt_news Extension meine Bedürfnisse ab, aber die Art und Weise die Bilder so darzustellen und den CurrentZustand anzeigen zu lassen, das scheint so noch nich gewollt zu sein .. Von daher frage ich euch mal ob ihr eine Extension kennt, die für sowas gedacht war. Bei der Hülle und Fülle von Extensions inzwischen, dauert es glaub ich einfach zu lang versuchsweise zu testen ob die ..oder die ..oder welche Extension auch immer das möglicherweise kann. Vielleicht hat ja einer genau das, es auch nur noch nich veröffentlicht ..whatever any suggestions ? ;) Beste Grüsse stEvo |
| Sponsored Links |
![]() TYPO3 Forum.net empfiehlt domainFactory als Hoster! |
|
#2
| |||
| |||
Also das hat sich soweit erstmal erledigt hier, werde mich wohl mal (endlich) tiefer mit der Programmierung von PHP und und der Erstellung einer imageMarkerFunc beschäftigen. Denke so kann ich mein Problem bzw meine Anforderungen lösen. Beste Grüsse stEvo |
|
#3
| ||||
| ||||
| hast Du eine Lösung gefunden oder brauchst Du das so nicht mehr ? Ich muss mir wohl so was ähnliches auch noch bauen ... Tom
__________________ "Wer nichts anderes tut als Geld verdienen, verdient auch nichts anderes ..." P.S. Ich habe gerade beschlossen alle meine Tipp- und Rechtschreibfehler unter die Open Content License zu stellen. |
|
#4
| |||
| |||
Zitat:
.. Falls ich vor dir zu einer Lösung kommen sollte, werde ich die hier veröffentlichen. Und umgedreht, falls du zu was kommen solltest, wäre ich dir sehr verbunden ;) .. das würde es mir leichter machen das ganze zu verstehen, weil das file "res/example_imageMarkerFunc.php" hat mir gezeigt das ich nichts weiss, bzw noch viel zu wenig um das Potential von T3 auszuschöpfen.Beste Grüsse stEvo |
|
#5
| |||
| |||
So, habe das jetzt mal auf meine Art und Weise gelöst. Wird wohl wahrscheinlich nich der eleganteste Weg sein, aber es läuft (bisher ohne Probleme). Werde es im Laufe der nächsten Woche mal posten. (Im Moment ist's noch auf keinem Online Entwicklungsserver zu sehen) Soviel sei schonmal gesagt. Eine Kombination aus UserFunction und JavaScript ist es geworden. Schönes WE noch Leute Beste Grüsse stEvo |
|
#6
| |||
| |||
Hallo allerseits. Wie ich bereits schon erwähnt hatte, nehme ich an das dies nicht die sauberste Lösung ist. Aber in meinem Fall funktioniert sie. Hier mal meine example_imageMarkerFunc.php mit ein "paar" Notizen. Code: <?php
/***************************************************************
* Copyright notice
*
* (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* A copy is found in the textfile GPL.txt and important notices to the license
* from the author is found in LICENSE.txt distributed with these scripts.
*
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
* This is an example for processing the news images by a user function.
*
* $Id: example_imageMarkerFunc.php,v 1.3 2004/09/19 06:43:32 honk Exp $
*
* @author Rupert Germann <rupi@gmx.li>
* @modified Steve Marek <m.eimer@gmx.de>
*/
/**
* Example function that adds 6 new imageWraps to the images in "SINGLE" view.
* Each image will be wrapped with its own css-class. The images will be rendered
* twice. 3 big images and 3 corresponding smaller.
* The function expects, that you define image wraps in your TS setup,
* that contain a number (see example TS below)
*/
/*
###############################################################
#### USED PARAMS ##############################################
*/
/*
$lConfSmall
$theImgCodeSmall
* and my own markers for substitutioin:
$markerArray['###NEWS_SMALL_IMAGE###'] = '';
$markerArray['###NEWS_BIG_IMAGE###'] = '';
* I defined my own markers. So in every case
* you have to change the HTML-Template, which
* is used by the plugins.
*/
/*
###############################################################
#### TS SETUP ##############################################
*/
/* * add this to your TS-setup:
* 1. If "firstImageIsPreview" is NOT set in corresponding LIST Plugin f.e.:
includeLibs.imageMarkerFunc=EXT:tt_news/res/example_imageMarkerFunc.php
plugin.tt_news {
# call user function
imageMarkerFunc = user_imageMarkerFunc
displaySingle {
imageWrapIfAny_0 = <div id="single-items-images0-big" style="visibility:hidden"> | </div>
imageWrapIfAny_1 = <div id="single-items-images1-big" style="visibility:visible"> | </div>
imageWrapIfAny_2 = <div id="single-items-images2-big" style="visibility:hidden"> | </div>
smallImageWrapIfAny_0 = <div id="single-items-images0" onMouseOver="javascript:showOver('0');return true"> | </div>
smallImageWrapIfAny_1 = <div id="single-items-images1" onMouseOver="javascript:showOver('1');return true"> | </div>
smallImageWrapIfAny_2 = <div id="single-items-images2" onMouseOver="javascript:showOver('2');return true"> | </div>
image{
#big images
file.width=284
file.height=290
#maximum w / h
file.maxH = 300
file.maxW = 300
#small images
file.widthSmall=90
file.heightSmall=90
#no js popup
imageLinkWrap = 0
}
}
}
* 2. If "firstImageIsPreview" IS set in corresponding LIST Plugin f.e.:
includeLibs.imageMarkerFunc=EXT:tt_news/res/example_imageMarkerFunc.php
plugin.tt_news {
# call user function
imageMarkerFunc = user_imageMarkerFunc
displaySingle {
#image div wraps
imageWrapIfAny_0 = <div id="single-items-images0-big" style="visibility:hidden"> | </div>
imageWrapIfAny_1 = <div id="single-items-images1-big" style="visibility:visible"> | </div>
imageWrapIfAny_2 = <div id="single-items-images2-big" style="visibility:hidden"> | </div>
imageWrapIfAny_3 = <div id="single-items-images3-big" style="visibility:hidden"> | </div>
smallImageWrapIfAny_0 = <div id="single-items-images0" onMouseOver="javascript:showOver('0');return true"> | </div>
smallImageWrapIfAny_1 = <div id="single-items-images1" onMouseOver="javascript:showOver('1');return true"> | </div>
smallImageWrapIfAny_2 = <div id="single-items-images2" onMouseOver="javascript:showOver('2');return true"> | </div>
smallImageWrapIfAny_3 = <div id="single-items-images3" onMouseOver="javascript:showOver('3');return true"> | </div>
image{
#big images
file.width=284
file.height=290
#maximum w / h
file.maxH = 300
file.maxW = 300
#small images
file.widthSmall=90
file.heightSmall=90
#no js popup
imageLinkWrap = 0
}
}
*/
/*
###############################################################
#### JS FILE ##################################################
*/
/*
* Add a javascript file via TypoScript to your headerData like this f.e.:
#### Javascript für die PictureShow einbinden
page.headerData.999 = TEXT
page.headerData.999.value=<script language="Javascript" src="fileadmin/js/showImages.js"></script>
* Content of showImages.js f.e.:
function showOver(element){ //
prefix="single-items-images";
attach="-big";
//When mouseOver on a smallImage -> set the bigger Image visible and the rest hidden
document.getElementById(prefix+element+attach).style.visibility = "visible";
if (element == 0)
{
document.getElementById(prefix+"1"+attach).style.visibility = "hidden";
document.getElementById(prefix+"2"+attach).style.visibility = "hidden";
}
if (element == 1)
{
document.getElementById(prefix+"0"+attach).style.visibility = "hidden";
document.getElementById(prefix+"2"+attach).style.visibility = "hidden";
}
if (element == 2)
{
document.getElementById(prefix+"1"+attach).style.visibility = "hidden";
document.getElementById(prefix+"0"+attach).style.visibility = "hidden";
}
}
* If "firstImageIsPreview" is set, you have to change the "element numbers".
* "0" don't exists anymore in singleView.
* In that case -> use "1","2","3" , else there will be an error in your dev-console @
* browser and the images won't switch.
*/
/*
###############################################################
#### CSS FILE #################################################
*/
/*
* It's on your own how you define the output. I positioned the bigger
* images with position:absolute at the same point. When the mouseOver
* event takes effect, there is always only one of them visible.
* The smaller images, in my case -> position:relative.
* -> to the right of the bigger images.
*/
/*
###############################################################
#### HTML FILE ################################################
*/
/*
* This is also your turn. I made it work fine with DIV and CSS
* Style.
*/
/*
###############################################################
#### ATTENTION ################################################
*/
/*
* I found out that in class.tx_ttnews.php on Line 1255 the param $textRenderObj is missing. Rupert Germann said it will
* be fixed in Versions > 2.0.x. But it seemed not, in my case. Maybe others have the same problem, so they should post it
* on the tt_news list please.
* The changes to make in class.tx_ttnews.php :
$markerArray = $this->userProcess('imageMarkerFunc', array($markerArray, $lConf));
* in
$markerArray = $this->userProcess('imageMarkerFunc', array($markerArray, $lConf, $textRenderObj));
* else it won't work!
*/
/*
###############################################################
#### WATCH IT LIVE ############################################
* Hope at the end of 2004
* http://www.werkraum.net -> then choose "Produkte" or "Projekte"
*/
/**
* Example function for displaying amenu items in yearly periods.
*
* @param array $paramArray: $markerArray, $config and $textRenderObj (if modified main class file) of the current news item in an array
* @return array the processed markerArrays
*/
function user_imageMarkerFunc($paramArray,$conf){
$markerArray = $paramArray[0];
$lConf = $paramArray[1];
//Stevo
$textRenderObj = $paramArray[2];
//Stevo
$this = &$conf['parentObj']; // make a reference to the parent-object
$row = $this->local_cObj->data;
$imageNum = isset($lConf['imageCount']) ? $lConf['imageCount']:1;
$imageNum = t3lib_div::intInRange($imageNum, 0, 100);
$theImgCode = '';
//Stevo
$theImgCodeSmall= '';
//Stevo
$imgs = t3lib_div::trimExplode(',', $row['image'], 1);
$imgsCaptions = explode(chr(10), $row['imagecaption']);
reset($imgs);
$cc = 0;
// unset the first image in the array (in single view) if the TS-var 'firstImageIsPreview' is set
if (count($imgs) > 1 && $this->config['firstImageIsPreview'] && $textRenderObj == 'displaySingle') {
unset($imgs[0]);
unset($imgsCaptions[0]);
$cc = 1;
}
//Stevo
//Copy $lConf to $lConfSmall -> so i can set my own height and width for the second image rendering later
$lConfSmall = $lConf;
//Stevo
while (list(, $val) = each($imgs)) {
if ($cc == $imageNum) break;
if ($val) {
$lConf['image.']['altText'] = ''; // reset altText
$lConf['image.']['altText'] = $lConf['image.']['altText']; // set altText to value from TS
$lConf['image.']['file'] = 'uploads/pics/'.$val;
//Stevo
$lConfSmall['image.']['altText'] = ''; // reset altText
$lConfSmall['image.']['altText'] = $lConf['image.']['altText']; // set altText to value from TS
$lConfSmall['image.']['file'] = 'uploads/pics/'.$val;
//Set ma secondary values from TS -> widthSmall and heightSmall of the smaller Images
$lConfSmall['image.']['file.']['height'] = $lConfSmall['image.']['file.']['heightSmall'];
$lConfSmall['image.']['file.']['width'] = $lConfSmall['image.']['file.']['widthSmall'];
//Stevo
switch($lConf['imgAltTextField']) {
case 'image':
$lConf['image.']['altText'] .= $val;
$lConfSmall['image.']['altText'] .= $val;
break;
case 'imagecaption':
$lConf['image.']['altText'] .= $imgsCaptions[$cc];
$lConfSmall['image.']['altText'] .= $imgsCaptions[$cc];
break;
default:
$lConf['image.']['altText'] .= $row[$lConf['imgAltTextField']];
$lConfSmall['image.']['altText'] .= $row[$lConf['imgAltTextField']];
}
}
$theImgCode .= $this->local_cObj->wrap($this->local_cObj->IMAGE($lConf['image.']).$this->local_cObj->stdWrap($imgsCaptions[$cc], $lConf['caption_stdWrap.']),$lConf['imageWrapIfAny_'.$cc]);
//Stevo
$theImgCodeSmall .= $this->local_cObj->wrap($this->local_cObj->IMAGE($lConfSmall['image.']).$this->local_cObj->stdWrap($imgsCaptions[$cc], $lConfSmall['caption_stdWrap.']),$lConfSmall['smallImageWrapIfAny_'.$cc]);
$cc++;
}
$markerArray['###NEWS_BIG_IMAGE###'] = '';
$markerArray['###NEWS_SMALL_IMAGE###'] = '';
if ($cc) {
$markerArray['###NEWS_BIG_IMAGE###'] = $this->local_cObj->wrap(trim($theImgCode), $lConf['bigImageWrapIfAny']);
$markerArray['###NEWS_SMALL_IMAGE###'] = $this->local_cObj->wrap(trim($theImgCodeSmall), $lConfSmall['smallImageWrapIfAny']);
}
//Stevo
return $markerArray;
}
?> |
![]() |
| Themen-Optionen | Thema durchsuchen |
| Ansicht | Thema bewerten |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| plugin_mgm: Ähnliches PlugIn für Typo3 4.xxx | josDesign | Alle anderen Extensions | 0 | 18.04.07 09:41 |
| S: Routenplaner, Anfahrtskizze oder ähnliches | mic_jan | Tools und Tipps | 4 | 23.03.07 12:06 |
| templavoila & tt_news: Keine Änderungen über TSconfig -> plugin.tt_news möglich | thomas_s | TYPO3 4.x Fragen und Probleme | 0 | 08.02.07 20:38 |
| tt_news: anpassen von tt_news | dersven | News (tt_news, mininews und Co) | 3 | 13.06.06 01:09 |
| tt_news: related news bei tt_news 1.5.1 | Zinner | News (tt_news, mininews und Co) | 4 | 21.08.04 14:15 |