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

#1 19. Oktober 2011 13:44

dalton
arbeitet mit CMSMS
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

Re:

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
arbeitet mit CMSMS
Ort: Schweiz
Registriert: 10. Januar 2011
Beiträge: 162
Webseite

Re:

Keiner eine Lösung?

Offline

#3 20. Oktober 2011 17:10

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

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

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


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

Fußzeile des Forums

Powered by FluxBB