Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 19. Oktober 2011 13:44

dalton
kennt CMS/ms
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

Company Directory seit Update sortby="f:feld" Problem?

Hallo,

da ich ein CMS von der Version 1.8.2 auf die neuste Version wegen des Moduls CMSMLE upgraden musste, gab es natürlich auch mit anderen Modulen Komplikationen diese habe ich aber alle auf den neusten Stand aktualisiert.

Nur leider funktioniert in der neusten Version vom Company Directory das Sortby für das eigene Feld nicht mehr.

Es kommt folgende Fehlermeldung:

Fatal error: Uncaught exception 'Exception' with message 'Invalid Sortby Field' in /home/httpd/vhosts/ugz.ch/httpdocs/modules/CompanyDirectory/lib/class.cd_company_filter.php:139 Stack trace: #0 /home/httpd/vhosts/ugz.ch/httpdocs/modules/CompanyDirectory/lib/class.cd_company_filter.php(68): cd_company_filter->offsetSet('sortby', 'f:sortby') #1 /home/httpd/vhosts/ugz.ch/httpdocs/modules/CompanyDirectory/action.default.php(47): cd_company_filter->__construct(Array) #2 /home/httpd/vhosts/ugz.ch/httpdocs/lib/classes/class.module.inc.php(2005): include('/home/httpd/vho...') #3 /home/httpd/vhosts/ugz.ch/httpdocs/modules/CGExtensions/CGExtensions.module.php(484): CMSModule->DoAction('default', 'maa412', Array, '86') #4 /home/httpd/vhosts/ugz.ch/httpdocs/lib/classes/class.module.inc.php(2050): CGExtensions->DoAction('default', 'maa412', Array, '86') #5 /home/httpd/vhosts/ugz.ch/httpdocs/lib/module.functions.php(144): CMSModule->DoActionBase('default', 'maa412', Array, '86') #6 /home/httpd/vhosts/ugz.ch/httpdocs/lib/classes/class. in /home/httpd/vhosts/ugz.ch/httpdocs/modules/CompanyDirectory/lib/class.cd_company_filter.php on line 139

nach eingabe mit: {CompanyDirectory sortby="f:sortby"} vor dem Update des Moduls ging das ohne Probleme.


Nach Modulhilfe sollte man das so einrichten:

"f:Feldname -- nach öffentlichen zusätzlichen Feldern sortieren. Die Ausgabe erfolgt sortiert nach dem benannten zusätzlichen Feld.
Hinweis 1: Wenn die Feldnamen Leerzeichen enthalten, müssen Sie Anführungszeichen verwenden.
Hinweis 2: The field specified must be marked as public.
Note: When using custom field sorting, You may also specify a flag after the field name to indicate that integer sorting should be performed. i.e: sortby=f:custom_ordering"


Und der Code an dieser Stelle wo das Felddefinierte sortby funktion zustande kommt sieht so aus:

  public function offsetSet($key,$value)
  {
    $cdmod = cms_utils::get_module('CompanyDirectory');

    if( !in_array($key,self::$_keys) )
      throw new Exception('Set: Invalid Key '.$key.'  specified for cd_company_filter');

    // validate data.
    switch( $key )
      {
      case 'sortby':
        $value = strtolower(trim($value));
        switch( $value )
          {
          case 'name':
            $value = 'company_name';
            break;

          case 'id':
          case 'address':
          case 'owner':
          case 'company_name':
          case 'phone':
          case 'fax':
          case 'email':
          case 'website':
          case 'created':
          case 'modified':
          case 'random':
          case 'distance':
            break;

          default:
            $good = false;
            if( startswith($sortby,'f:') )
              {
                // validate custom field.
                list($junk,$fname,$ftype) = explode(':',$sortby,3);
                $fielddefs = $this->GetFieldDefs();
                for( $i = 0; $i < count($fielddefs); $i++ )
                  {
                    if( $fielddefs[$i]->name == $fname ) 
                      {
                        $this->_sortby_fld = $fielddefs[$i];
                        $good = true;
                        break;
                      }
                  }
                if( $good && $ftype != '' && $ftype != 'i' && $ftype != 'f')
                  {
                    $good = false;
                  }
              }
            if( !$good ) throw new exception('Invalid Sortby Field');
            break;
          }
        break;

Besten Dank im vorraus für eure Hilfe.

Offline

#2 20. Oktober 2011 16:54

dalton
kennt CMS/ms
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

Re: Company Directory seit Update sortby="f:feld" Problem?

Keiner eine Lösung?

Offline

#3 20. Oktober 2011 17:10

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Company Directory seit Update sortby="f:feld" Problem?

Wie sieht denn dein Template aus? Hast du dies angepasst?

Falls ja, könntest mal versuchen, dies auf die programmseitigen Voreinstellungen zurückzusetzen ...

Offline