RexSeo - Erweiterung Author,Publisher,Generator

Alles über die Anwendung und Entwicklung von AddOns.

RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon darwin » 2. Jan 2012, 10:32

Hallo,
eine kleine Erweiterung für das AddOn RexSeo (1.3.203) um die Eingabefelder
für Author, Publisher und Generator.

settings.inc.php (Zeile31)
Code: Alles auswählen
...
'def_keys'                   => 'array',
'def_author'                 => 'string',
'def_publisher'              => 'string',
'def_generator'              => 'string',
'homeurl'                    => 'int',
'homelang'                   => 'int',
...


settings.inc.php (ab Zeile 296) einfügen:
Code: Alles auswählen
<div class="rex-form-row">
        <p class="rex-form-col-a rex-form-text">
          <label for="def_author">Author:</label>
         <input id="def_author" class="rex-form-text" type="text" name="def_author" value="'.stripslashes($REX['ADDON'][$myself]['settings']['def_author']).'" />
        </p>
      </div><!-- /rex-form-row -->
      
      <div class="rex-form-row">
        <p class="rex-form-col-a rex-form-text">
          <label for="def_publisher">Publisher:</label>
         <input id="def_publisher" class="rex-form-text" type="text" name="def_publisher" value="'.stripslashes($REX['ADDON'][$myself]['settings']['def_publisher']).'" />
        </p>
      </div><!-- /rex-form-row -->
      
      <div class="rex-form-row">
        <p class="rex-form-col-a rex-form-text">
          <label for="def_generator">Generator:</label>
         <input id="def_generator" class="rex-form-text" type="text" name="def_generator" value="'.stripslashes($REX['ADDON'][$myself]['settings']['def_generator']).'" />
        </p>
      </div><!-- /rex-form-row -->


class.rexseo.inc.php (ab Zeile 145) einfügen:
Code: Alles auswählen
function author()
  {
   global $REX;
   $str =  trim($REX['ADDON']['rexseo']['settings']['def_author']);
   
   return rexseo::htmlentities($str);
  }
 
  function publisher()
  {
   global $REX;
   $str =  trim($REX['ADDON']['rexseo']['settings']['def_publisher']);
   
   return rexseo::htmlentities($str);
  }
 
  function generator()
  {
   global $REX;
   $str = trim($REX['ADDON']['rexseo']['settings']['def_generator']);
   
   return rexseo::htmlentities($str);
  }


Im Template folgendes ändern/hinzufügen:
Code: Alles auswählen
if(OOAddon::isAvailable('rexseo'))
{
  $meta_title         = rexseo::title("|");
  $meta_description   = rexseo::description();
  $meta_keywords      = rexseo::keywords();
  $meta_author        = rexseo::author();
  $meta_publisher     = rexseo::publisher();
  $meta_generator     = rexseo::generator();
...


Im template HTML Bereich (Metas):
Code: Alles auswählen
<meta name="publisher" content="<?php echo $meta_publisher; ?>" />
<meta name="author" content="<?php echo $meta_author; ?>" />
<meta name="generator" content="<?php echo $meta_generator; ?>" />


grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon jeandeluxe » 2. Jan 2012, 11:28

Nachtrag:

so wie du es gelöst hast, gibts für die ganze site nur den einen author/publisher.. bei publisher mag das angehn, bei author spätestens dann nicht, wenn es mehrere Redakteure gibt die Artikel einstellen, sprich eine Anbindung an entweder backend user Klarnamen, oder über separates metainfo feld, o.ä. wär gut.

ps.: evtl. so: default publisher/author wird in Addon Settings eingestellt, zusätzliches metainfo Feld ist override.. desweiteren das default feld so stricken, daß man neben nem string auch logik angeben kann ala:
Code: Alles auswählen
rex_article:[createuser|updateuser]rex_user:name

sprich so notiert würde z.b. der Klarname jenes backend users genommen, welcher den Artikel erstellt|geändert hat.. irgendwie in die Richtung.

lg,
Jan
mark your solved threads [SOLVED]™ promotion tour.. | Redaxo API Docu | rexdev.de | "You start with some money.."
IT'S A MARATHON. NOT A SPRINT. UNLESS IT IS A SPRINT, THEN SPRINT!
Benutzeravatar
jeandeluxe
 
Beiträge: 1933
Registriert: 29. Sep 2005, 09:50
Wohnort: Hamburg

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon darwin » 2. Jan 2012, 20:06

Hi,
Ja, dacht mir doch das ich was übersehen habe. Werd mich da mal
nochmal dransetzen.

Danke für den Hinweis.

Kannst du mir kuez helfen beim EP "REXSEO_SITEMAP_ARRAY_CREATED"
um die Sitemap Ausgabe noch zu manipulieren. Ich habe in der /rexseo/config.inc.php
als test das hier drin:
Code: Alles auswählen
function extended_sitemap()
{
   global $REX;
   
   $map_articles[9999][0] = array('loc'     => 'foo',
                                   'lastmod' => 'datum',
                                   'changefreq' => 'monthly',
                                   'priority'   => 1
                                   );
   return $map_articles;
}
rex_register_extension('REXSEO_SITEMAP_ARRAY_CREATED', 'extended_sitemap');

Nur leider kommt in der sitemap.xml nichts an. EPs sind für mich "leider" immernoch
n Stolperstein. Wäre nett wenn du mich da kurz aufklären könntest

Danke schonmal. grz Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon jeandeluxe » 2. Jan 2012, 20:12

darwin hat geschrieben:Werd mich da mal nochmal dransetzen.

Kannst auch gern mal durchskypen zwecks brainstorming oder akuten Fragen..

darwin hat geschrieben:EPs sind für mich "leider" immernoch n Stolperstein. Wäre nett wenn du mich da kurz aufklären könntest

Gern.. gestern erst getippert: http://www.redaxo.org/de/doku/extension ... im-detail/ ;-)

lg,
Jan
mark your solved threads [SOLVED]™ promotion tour.. | Redaxo API Docu | rexdev.de | "You start with some money.."
IT'S A MARATHON. NOT A SPRINT. UNLESS IT IS A SPRINT, THEN SPRINT!
Benutzeravatar
jeandeluxe
 
Beiträge: 1933
Registriert: 29. Sep 2005, 09:50
Wohnort: Hamburg

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon jeandeluxe » 2. Jan 2012, 21:06

Hatte gehofft er Artikel erklärts.. ;) gut, dann antworte ich mal öffentlich:

darwin hat geschrieben:
Code: Alles auswählen
function extended_sitemap()
{
   global $REX;
   
   $map_articles[9999][0] = array('loc'     => 'foo',
                                   'lastmod' => 'datum',
                                   'changefreq' => 'monthly',
                                   'priority'   => 1
                                   );
   return $map_articles;
}


Du hast in deinem callback vergessen aus dem EP das sitemap array zu holen..
Code: Alles auswählen
function extended_sitemap($params)
{
   global $REX;
   $map_articles = $params['subject'];
   $map_articles[9999][0] = array('loc'     => 'foo',
                                   'lastmod' => 'datum',
                                   'changefreq' => 'monthly',
                                   'priority'   => 1
                                   );
   return $map_articles;
}



hth,
Jan
mark your solved threads [SOLVED]™ promotion tour.. | Redaxo API Docu | rexdev.de | "You start with some money.."
IT'S A MARATHON. NOT A SPRINT. UNLESS IT IS A SPRINT, THEN SPRINT!
Benutzeravatar
jeandeluxe
 
Beiträge: 1933
Registriert: 29. Sep 2005, 09:50
Wohnort: Hamburg

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon darwin » 2. Jan 2012, 21:29

HI,
danke für den Schubbs, aner ich kannes hin und her drehen.
Die sitemap.xml bleibt leider unberührt.

Meine Vorgehensweise:
rexseo/config.inc.php
Code: Alles auswählen
function extended_sitemap($params)
{
   global $REX;
   $map_articles = $params['subject'];
   $map_articles[9999][0] = array('loc'     => 'foo',
                                   'lastmod' => '2012',
                                   'changefreq' => 'monthly',
                                   'priority'   => 1
                                   );
 
  return $map_articles;
}
rex_register_extension('REXSEO_SITEMAP_ARRAY_CREATED', 'extended_sitemap');


und rufe anschließend im Browser die http://www.meineDomain.tld/sitemap.xml
auf und suche nach "foo" ... nüschts .. leider ...

"alte" Rexseo hab ich mit der neuen Version überschrieben und re-installed.
Ist da evtl der Haken?

DANKE. grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon jeandeluxe » 2. Jan 2012, 21:53

darwin hat geschrieben:"alte" Rexseo hab ich mit der neuen Version überschrieben und re-installed.
Ist da evtl der Haken?


Nein, der EP war ein paar revisionen lang broken.. u.a. auch in der 1.3.203.. sry, grrad erst wieder eingefallen.. zieh dir einfach die aktuelle.

hth,
Jan
mark your solved threads [SOLVED]™ promotion tour.. | Redaxo API Docu | rexdev.de | "You start with some money.."
IT'S A MARATHON. NOT A SPRINT. UNLESS IT IS A SPRINT, THEN SPRINT!
Benutzeravatar
jeandeluxe
 
Beiträge: 1933
Registriert: 29. Sep 2005, 09:50
Wohnort: Hamburg

Re: RexSeo - Erweiterung Author,Publisher,Generator

Beitragvon darwin » 3. Jan 2012, 09:00

Hallo Jan,
danke funktioniert bestens:

Code: Alles auswählen
function extended_sitemap($params)
{
   global $REX;
   $map_articles = $params['subject'];
   $sql = rex_sql::factory();
   // $sql->debugsql = true;
   $sql->setTable($REX['TABLE_PREFIX'].'artists');
   $sql->select('id,name');
   
   foreach($sql->getArray() as $m)
   {
      $pathname = '';
      $pathname = rexseo_appendToPath($pathname, 'artists-und-djs');
      $pathname = rexseo_appendToPath($pathname, 'artist');
      $pathname = rexseo_appendToPath($pathname, $m['name']);
      $pathname = substr($pathname,0,strlen($pathname)-1).$REX['ADDON']['rexseo']['settings']['url_ending'];
      $map_articles[][0] = array(
                              'loc' => '/'.$pathname,
                              'lastmod' => '2012-01-02T11:00:48+00:00',
                              'changefreq' => 'monthly',
                              'priority'   => 1
                              );
   }
  return $map_articles;
}
rex_register_extension('REXSEO_SITEMAP_ARRAY_CREATED', 'extended_sitemap');


grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA


Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast