mouth
Willkommen Gast.
Um die volle Funktionalität des Forums nutzen zu können,
müssen Sie sich einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

 
Erweiterte Suche

24.360 Beiträge in 4.838 Themen- von 2.786 Mitglieder - Neuestes Mitglied: SyndVer

21-05-2012 13:33:37
JOOM::GALLERY::FORUMJoomGallery 1.5 MVCZusammenspiel mit anderen KomponentenJoomGallery und Joomfish: Eine kleine Erweiterung
Seiten: [1]
Drucken
Autor Thema: JoomGallery und Joomfish: Eine kleine Erweiterung  (Gelesen 3317 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Hermann
Newbie
*
Offline Offline

Beiträge: 15


WWW
« am: 20-06-2009 00:12:23 »

Hallo,

ich betreibe eine zweisprachige Webseite mit Hilfe von Joomfish. Um auch die Kategorien- und Bildernamen sowie Bildbeschreibungen aus der JoomGallery übersetzen zu können, habe ich die entsprechenden contenelement-Dateien von Peter Kovacs benutzt.

Nachdem ich über 200 Bilder in 11 Kategorien in meiner Online-Galerie veröffentlicht habe, ist mir aufgefallen, dass das Übersetzen von obigen Daten im Joomfish-Bereich nicht bequem ist, weil die Bilderliste eine einfache Liste ohne jegliche Filter ist. Aus diesem Grund habe ich mich hingesetzt und die contentelemente etwas erweitert, damit es im Joomfish-Bereich Filter gibt bei
- JoomGallery Categories: Keyword (Textsuche) + Translation Availability (Übersetzung vorhanden, nicht vorhanden, veraltet etc.)
- JoomGallery Pictures: das Gleiche wie oben + JoomGallery Kategorien!

Getestet mit:
Joomla! 1.5.11
Joomfish 2.0.3
JoomGallery 1.5.0.2
Installation:
Die zwei XML-Dateien und das PHP-Skript müssen ins Verzeichnis
/joomla/administrator/components/com_joomfish/contentelements kopiert werden. Danach muss im Backend unter "Components"->"Joomfish"->"Translation" die Sprache und anschließend als Content Element "JoomGallery - Category" oder "JoomGallery - Pictures" ausgewählt werden. Wenn alles gut geklappt hat, dann werden an der Stelle die Filter mit ausgegeben.

Datei joomgallery_catg.xml
Code
<?xml version="1.0" ?>
<joomfish type="contentelement">
<name>Joomgallery - Category</name>
<author>Peter Kovacs, modified by Hermann Maurer</author>
<version>1.1</version>
<description>Definition for Joomgallery Category</description>
<reference>
<table name="joomgallery_catg">
<field type="referenceid" name="cid" translate="0">ID</field>
<field type="titletext" name="name" translate="1">Name</field>
<field type="htmltext" name="description" translate="1">Description</field>
</table>
</reference>
<translationfilters>
     <keyword>name</keyword>
   <published>published</published>
 </translationfilters>
</joomfish>
 

Datei joomgallery.xml:
Code
<?xml version="1.0" ?>
<joomfish type="contentelement">
<name>Joomgallery - Pictures</name>
<author>Peter Kovacs, modified by Hermann Maurer</author>
<version>1.1</version>
<description>Definition for Joomgallery Pictures</description>
<reference>
<table name="joomgallery">
<field type="referenceid" name="id" translate="0">ID</field>
     <field type="titletext" name="imgtitle" translate="1">Name</field>
<field type="textarea" name="imgtext" translate="1">Description</field>
</table>
</reference>
 <translationfilters>
   <keyword>imgtitle</keyword>
   <joomgallery_catg>catid</joomgallery_catg>
   <published>published</published>
 </translationfilters>
</joomfish>
 

Datei translationJoomgallery_catgFilter.php
Code
<?php
/**
* This script was written by Hermann Maurer (http://www.hermannsspace.de/)
* Copyright (c) 2009-06-19, see the licence conditions below.
* All rights reserved.
*  
* This scripts is to be placed into the directory
* joomla/administrator/components/com_joomfish/contentelements
* together with the joomlagallery.xml file.  
*
* This program 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.
*
* This program 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
*
* The "GNU General Public License" (GPL) is available at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* -----------------------------------------------------------------------------
*
*/

 
// Don't allow direct linking
defined( 'JPATH_BASE' ) or die( 'Direct Access to this location is not allowed.' );
 
class translationjoomgallery_catgFilter extends translationFilter
{
 function translationjoomgallery_catgFilter ($contentElement){
   $this->filterNullValue=-1;
   $this->filterType="joomgallery_catg";
   $this->filterField = $contentElement->getFilter("joomgallery_catg");
   parent::translationFilter($contentElement);
 }
 
 function _createFilter(){
   $db =& JFactory::getDBO();
   if (!$this->filterField ) return "";
   $filter="";
   if ($this->filter_value!=$this->filterNullValue) {
     // get list of picids in the appropriate category
     $sql = "SELECT pic.id FROM #__joomgallery as pic"
       ." WHERE pic.catid=$this->filter_value";
     // echo($sql);
     $db->setQuery($sql);
     $picids = $db->loadObjectList();
     $idstring = "";
     foreach ($picids as $pid){
       if (strlen($idstring)>0) $idstring.=",";
         $idstring.=$pid->id;
     }
     $filter = "c.id IN($idstring)";
   }
   return $filter;
 }
 
/**
* Creates joomgallery_catg filter
*
* @param unknown_type $filtertype
* @param unknown_type $contentElement
* @return unknown
*/

 function _createfilterHTML(){
   $db =& JFactory::getDBO();
   if (!$this->filterField) return "";
   $categoryOptions=array();
   $categoryOptions[] = JHTML::_('select.option', '-1', JText::_('All Categories'));
   $sql = "SELECT DISTINCT cat.cid, cat.name FROM #__joomgallery_catg as cat,"
    ." #__".$this->tableName." as c, #__joomgallery as xref"
    ." WHERE c.catid=xref.catid AND xref.".$this->filterField."=cat.cid ORDER BY cat.name";
   //  echo($sql);
   $db->setQuery($sql);
   $cats = $db->loadObjectList();
   $catcount=0;
   foreach($cats as $cat) {
     $categoryOptions[] = JHTML::_('select.option', $cat->cid,$cat->name);
     $catcount++;
   }
   $categoryList=array();
   $categoryList["title"]= 'JoomGallery category';
   $categoryList["html"] = JHTML::_('select.genericlist', $categoryOptions, 'joomgallery_catg_filter_value', 'class="inputbox" size="1" onchange="document.adminForm.submit();"', 'value', 'text', $this->filter_value );
   return $categoryList;
 }
}
 
?>
 

Die Gross/kleinschreibung der Dateinamen ist relevant.

Viel Spaß und Grüsse
Hermann Maurer
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.368


WWW
« Antworten #1 am: 20-06-2009 16:21:23 »

Hallo Hermann,
ich habe Deine Erweiterung getestet und bin begeistert.
Dürfen wir die Dateien als Zip in unseren Downloads anbieten?

Gruß
Andreas

edit 26.6.2009
erledigt: http://www.joomgallery.net/downloads/task,doc_details/gid,125/
« Letzte Änderung: 26-06-2009 11:32:50 von aHa » Gespeichert
Hermann
Newbie
*
Offline Offline

Beiträge: 15


WWW
« Antworten #2 am: 20-06-2009 22:48:53 »

Hallo Andreas,

ja, sicher, würde mich sehr freuen sm_smile

Gruß
Hermann Maurer
Gespeichert
Merops
Newbie
*
Offline Offline

Beiträge: 8


« Antworten #3 am: 22-12-2009 22:40:56 »

Bei mir klappt das auch ganz wunderbar, nur nicht in der obersten Kategorieebene, was mache ich falsch?

Gruß
Andreas
« Letzte Änderung: 22-12-2009 22:50:26 von Merops » Gespeichert
Hermann
Newbie
*
Offline Offline

Beiträge: 15


WWW
« Antworten #4 am: 22-12-2009 23:04:14 »

Hi Andreas,

wie meinst du das? Erkläre bitte genauer oder mache einen Screenshot.
Anbei ein Screenshot, der zeigen soll, wie es bei mir aussieht.

Grüße
Hermann Maurer
Gespeichert
Merops
Newbie
*
Offline Offline

Beiträge: 8


« Antworten #5 am: 23-12-2009 05:06:36 »

Guten Morgen Hermann,

es ist eher ein Sprachen-Mix. In der ersten Grafik siehst du das Durcheinander. Obwohl ich im Backend die Übersetzung eingestellt habe, wird sie im Frontend nicht angezeigt. Das ist aber nur mit der 1. Kategorie so, bei den Unterkategorien klappt es dann.

Gruß
Andreas 
Gespeichert
Hermann
Newbie
*
Offline Offline

Beiträge: 15


WWW
« Antworten #6 am: 23-12-2009 14:35:42 »

Hallo Andreas,

jetzt verstehe ich das Problem. Es dürfte allerdings nichts mit dem Topic zu tun haben sm_smile

Ich habe das Problem nicht. Bei mir wird die Sprache richtig angezeigt oder umgestellt, unabhängig davon, in welcher Kategorie der Galerie ich gerade bin, ob in der obersten Kategorie oder in einer Unterkategorie, alles funktioniert normal. Ich kann dir zwar nicht 100%-ig sagen, woran es liegt, aber ich meine, ein ähnliches Problem gehabt zu haben. Und zwar, überprüfe bitte nochmals, dass die Kategorie, bei der das Problem auftritt, tatsächlich in der Standardsprache der Seite (Deutsch) geschrieben und veröffentlicht wurde und nicht zufällig in der Englischen, als Zweitsprache. Bzw. kann  es sein, dass du die Standardsprache der Seite nach der Veröffentlichung der Hauptkategorie geändert hast?

Grüße
Hermann Maurer
Gespeichert
Merops
Newbie
*
Offline Offline

Beiträge: 8


« Antworten #7 am: 24-12-2009 06:13:29 »

Danke dir Hermann,
auf die schnelle nachgeschaut habe ich da wohl alles richtig eingestellt, zummal ich die Kategorien alphabetisch durchgegangen bin. Ich werde aber in den nächsten Tagen, wenn ich mehr Zeit habe, die Übersetzungen noch mal neu machen, ist ja nicht so viel - ich hatte am Anfang nämlich am Anfang den von dir beschriebenen Fehler gemacht - dachte ihn aber behoben zu haben.
Dir jedenfalls herzlichen Dank und ein paar schöne Feiertage.
Andreas 
Gespeichert
Hermann
Newbie
*
Offline Offline

Beiträge: 15


WWW
« Antworten #8 am: 24-12-2009 12:20:50 »

Hallo Andreas,

ja, bitte schön, gern geschehen! sm_wink

Euch allen und euren Familien sowie Gästen des Forums wünsche ich Frohe Weihnachten und ein schönes Jahr 2010!

Grüße
Hermann Maurer
Gespeichert
Merops
Newbie
*
Offline Offline

Beiträge: 8


« Antworten #9 am: 27-12-2009 19:22:02 »

Jetzt wird es interessant. Das Problem tritt nicht auf, wenn ich im Konfigurations-Manager von JoomGallery für die Galerie-Ansicht die alphabetische Sortierung abstelle. Setzt ich sie hinterher wieder auf Ja, lasse also alphabetisch sortieren, werden statt wie mit Joomfish eingestellt nicht die Englischen Übersetzungen angezeigt, sondern die Deutschen.
Ratlose Grüße
Andreas

(Ich habe in den nächsten Tagen nur sporadischen Zugriff auf das Internet, kann also nicht immer sofort Antworten)
Gespeichert
Seiten: [1]
Drucken
Gehe zu:  

Theme orange-lt created by panic

Bad Behavior has blocked 208 access attempts in the last 7 days.