MyXoops Forum

Forum - All Posts - myXOOPS German Support

Forum Index


Board-Index » All Posts (WDC)

BottomBottom



WDC

"myXOOPs"-Profi
Gepostet am:13.04.2021 11:29
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#1

Aw: xoRewriteModulea - Simplified, Short URLs?

Das Problem haben wir in den Griff bekommen. Wenn Du magst schicke ich Dir mal die geänderten Dateien. Dan. Kann es dazu ja mal ein Update des myalbum modules geben


WDC

"myXOOPs"-Profi
Gepostet am:09.04.2021 21:31
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#2

xsitemap and SEO URLS

Servus,

Ich habe jetzt teils SEO URLS am laufen. Aber wie bringe ich xsitemap bei, diese zu nutzen?

Danke


WDC

"myXOOPs"-Profi
Gepostet am:09.04.2021 17:27
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#3

Aw: xoRewriteModulea - Simplified, Short URLs?

Da mir das keine ruhe gelassen hat, habe ich mal noch ein wenig getüftelt.

Ich habe jetzt in den php Dateien die vorhandene Möglichkeit genutzt, in der URL Zeichen zu ändern. Es bleiben zwar alle Sprachen in der URL vorhanden, aber sieht zumindest ok aus, wie es jetzt ist.

Ich würde hier gerne aber noch alle Umlaute und Sonderzeichen, direkt mit umwandeln lassen, utf8 nach ASCII

Sodas aus

https://kenner-mask.com/screenshots/-de-Der-tödliche-Meteor-en-The-Deathstone-fr-Un-précieux-météor-/cat,2,0,1350,0,list.html

wird

https://kenner-mask.com/screenshots/-d ... r-Un-precieux-meteor-/cat,2,0,1350,0,list.html

An der Stelle nehme ich die Änderungen vor, kann das da mit eingebaut werden?

public function getURL($uid$num$pos$view)
    {
        
$helper Helper::getInstance();
        
$moduleDirName basename(dirname(__DIR__));
        
/** @var XoopsModuleHandler $moduleHandler */
        
$moduleHandler xoops_getHandler('module');
        
/** @var XoopsConfigHandler $configHandler */
        
$configHandler xoops_getHandler('config');
        if (!isset(
$GLOBALS['screenshotsModule'])) {
            
$GLOBALS['screenshotsModule'] = $moduleHandler->getByDirname($moduleDirName);
        }
//        if (!isset($GLOBALS['screenshotsModuleConfig'])) {
//            $GLOBALS['screenshotsModuleConfig'] = $configHandler->getConfigList($GLOBALS['screenshotsModule']->getVar('mid'));
//        }
        
if ($helper->getConfig('htaccess')) {
            return 
XOOPS_URL '/' $helper->getConfig('baseurl') . '/' str_replace(
                    [
                        
'_',
                        
' ',
                        
')',
                        
'(',
                        
'&',
                        
'#',
                        
'[/de]',
                        
'[/en]',
                        
'[/fr]',
                        
'[',
                        
']',
                        
'--',
                    ],
                    
'-',

                    
$this->getVar('title')
                ) . 
'/cat,' $this->getVar('cid') . ',' $uid ',' $num ',' $pos ',' $view $helper->getConfig('endofurl');
        }

        return 
Helper::getInstance()->url() . 'viewcat.php?cid=' $this->getVar('cid') . '&uid=' $uid '&num=' $num '&pos=' $pos '&view=' $view;
    }


WDC

"myXOOPs"-Profi
Gepostet am:13.03.2021 19:16
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#4

Aw: MyAlbum-P für Xoops 2.5.11

Du hast ja das Modul, ist das myalbum, wie es auch bei github steht, halt nur zu Merchandise umbenannt. Ansonsten das selbe. Klar kann ich dir schicken, wie Du willst


WDC

"myXOOPs"-Profi
Gepostet am:13.03.2021 09:41
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#5

Aw: MyAlbum-P für Xoops 2.5.11

Das war nicht angepasst, hab es jetzt so gemacht, wie es in der header.php vom Modul aufgerufen wird.

/** @var XoopsModulesWggalleryHelper $helper */
    
$helper Helper::getInstance();
    
$albumsHandler $helper->getHandler('Category');
    
$crAlbums      = new CriteriaCompo();
    
$crAlbums->add(new Criteria('cid'$cid));


Ich verstehe dass Variablen sind, die gefüllt werden, und die dann weiter verwendet werrden.

Was machen die?

$crAlbums      = new CriteriaCompo();
    
$crAlbums->add(new Criteria('cid'$cid));


Eingebunden ist der ganze Code in der viewcat.php, für die anderen Bereiche muss das ja cuh in die entsprechenden php Dateien, oder? Oder kann ich eine neue Breadcrumb.php anlegen?

So sieht das ganze jetzt aus, für die Parent Kategorien

function getParentsOfCategory($cid)
{
    
$parentsAll = [];
    
/** @var XoopsModulesWggalleryHelper $helper */
    
$helper Helper::getInstance();
    
$albumsHandler $helper->getHandler('Category');
    
$crAlbums      = new CriteriaCompo();
    
$crAlbums->add(new Criteria('cid'$cid));
    
$albumsCount $albumsHandler->getCount($crAlbums);
    
$albumsAll   $albumsHandler->getAll($crAlbums);
    
// Table view albums
    
if ($albumsCount 0) {
        foreach (
array_keys($albumsAll) as $i) {
            
$parentsAll[] = ['cid' => $albumsAll[$i]->getVar('cid'), 'title' => $albumsAll[$i]->getVar('title'), 'pid' => $albumsAll[$i]->getVar('pid')];
            
$parent     getParentsOfCategory($albumsAll[$i]->getVar('pid'));
            if (
$parent) {
                
$parentsAll[] = $parent;
            }
        }
    }

    return 
$parentsAll;
}


// Parent Kategorien
$xoBreadcrumbs[] = ['title' => $parentsAll];


WDC

"myXOOPs"-Profi
Gepostet am:12.03.2021 19:18
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#6

Aw: MyAlbum-P für Xoops 2.5.11

Neeee, bekomme ich nicht gebacken es gibt das was ähnliches, in der php Datei, das liest wohl das aus, was ich suche, bekomme das aber nicht in Deinen code portiert
foreach ($GLOBALS['cattree']->getAllChild($cid) as $child) {
        
$cids[$child->getVar('cid')] = $child->getVar('cid');
    }
    
$cids[]   = $cid;
    
$criteria = new CriteriaCompo(new Criteria('status''0''>'));
    
$photo_total_sum Utility::getTotalCount($cids$criteria);
    if (!empty(
$cids)) {
        foreach (
$cids as $index => $child) {
            
$childcat $catHandler->get($child);
            if (
is_object($childcat)) {
                
$catpath .= "<a href='" $helper->url() . 'viewcat.php?num=' . (int)$GLOBALS['merchandise_perpage'] . '&cid=' $childcat->getVar('cid') . "' >" $childcat->getVar('title') . '</a> ' . ($index count($cids) ? '>>' '');
            }
        }
    } else {
        
$cat     $catHandler->get($cid);
        
$catpath .= "<a href='" $helper->url() . 'viewcat.php?num=' . (int)$GLOBALS['merchandise_perpage'] . '&cid=' $cat->getVar('cid') . "' >" $cat->getVar('title') . '</a>';
    }
So habe ich es probiert, aber das Ergebnis ist leer
/**
 * Get all parents of a category
 * @param $albPid
 * @return string
 */
function getParentsOfCategory($cat)
{
    
$parentsAll = [];
    
/** @var XoopsModulesWggalleryHelper $helper */
    
$helper        XoopsModulesWggalleryHelper::getInstance();
    
$albumsHandler $helper->getHandler('Category');
    
$crAlbums      = new CriteriaCompo();
    
$crAlbums->add(new Criteria('cid'$cid));
    
$albumsCount $albumsHandler->getCount($crAlbums);
    
$albumsAll   $albumsHandler->getAll($crAlbums);
    
// Table view albums
    
if ($albumsCount 0) {
        foreach (
array_keys($albumsAll) as $i) {
            
$parentsAll[] = ['cid' => $albumsAll[$i]->getVar('cid'), 'title' => $albumsAll[$i]->getVar('title'), 'pid' => $albumsAll[$i]->getVar('pid')];
            
$parent     getParentsOfCategory($albumsAll[$i]->getVar('pid'));
            if (
$parent) {
                
$parentsAll[] = $parent;
            }
        }
    }

    return 
$parentsAll;
}


WDC

"myXOOPs"-Profi
Gepostet am:12.03.2021 12:34
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#7

Aw: MyAlbum-P für Xoops 2.5.11

Ok. Guck ich mir heute Abend an. Aber ich verstehe sogar halbwegs was da passieren soll


WDC

"myXOOPs"-Profi
Gepostet am:12.03.2021 11:45
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#8

Aw: MyAlbum-P für Xoops 2.5.11

Klingt logisch, wenn man weiß wie es geht.

Das krieg ich doch im Leben nicht hin. Evtl. Die pid der cid der aktuellen Kategiloerie, aber die oids der oids, da bin ich raus


WDC

"myXOOPs"-Profi
Gepostet am:12.03.2021 08:00
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#9

Aw: MyAlbum-P für Xoops 2.5.11

Zitat:

Goffy schrieb:
Hi
Zitat:
Na das wird ja was

super

den Modulnamen solltest du über
$GLOBALS['xoopsModule']->getVar('name');

erhalten


Super, das hat funktioniert, Danke!

Zitat:

Goffy schrieb:wegen Namen der aktuellen Kategorie:
da musst du mal die Variablen checken, die du auf der Seite verwendest, ob da die übergeordnete Kategorie irgendwo drin ist.
ansonsten müsstest du die Parent-Id zur aktuellen Kategorie abfragen


Das gibt mir große Rätsel auf. Zum Beispiel diese Kategorie hier

https://kenner-mask.com/modules/merchandise/viewcat.php?cid=52

Müsste die Breadcrumb wie folgt aussehen

Merchandise / Bücher | Comics / Bücher / Deutschland / Bücher

Also insgesamt 3 Elternkategorien + Die aktuelle Kategoerie

Eine Elternkategorie bekomme ich ja evtl. noch hin. Den Rest bisher nicht


WDC

"myXOOPs"-Profi
Gepostet am:11.03.2021 20:10
WDC
WDC Offline (Show more)
"myXOOPs"-Profi
Posts: 635
Since: 27.06.2004
#10

Aw: MyAlbum-P für Xoops 2.5.11

Na das wird ja was

Ich habe es erstmal hinbekommen, keine blankpage mehr zu bekommen, man sieht die Breadcrumb auch. ABER, er zeigt den Namen der aktuellen Kategorie an. Sicherlich fehlt irgendwo eine foreach Schleife.

Aber wie sage ich der Datei, auch den Namen der übergeordneten Kategorie anzuzeigen?

$xoBreadcrumbs = [];
//Link hinzufügen
$xoBreadcrumbs[] = ['title' => $childcat->getVar('title'), 'link' => "$mod_url/viewcat.php?cid=$cid];
// Element ohne Link hinzufügen
$xoBreadcrumbs[] = ['title' => 'Mein Linktitelc 2'];

if (
count($xoBreadcrumbs) > 1) {
    
$GLOBALS['xoopsTpl']->assign('xoBreadcrumbs'$xoBreadcrumbs);
}


Die Breadcrumb soll ja den ganzen Pfad abbilden, wenn also eine Kategorie 4 übergeordnete Kategorien hat, soll er das ja zeigen...

Was ich auch nicht finde, ist wie die Variable des Modulnamens ist. Nicht dirname, sondern der Name, wie das Modul dann im Admin benannt wurde. Wie er in der DB bei modules im Feld Name steht.



TopTop
(1) 2 3 4 ... 41 »