Meine Änderungen am Stammsystem

Spammer, die Anmeldemail nutzen, um Ihres Spam zu verschicken

Am besten, die Anmeldungen abfangen, wenn das Formular übertragen wird:

/oxid/core/inputvalidator.php
public function checkRequiredFields($oUser, $aBillingAddress, $aDeliveryAddress)
$aBillingAddress: 

    [oxuser__oxsal] => MR
    [oxuser__oxfname] => ???
    [oxuser__oxlname] => google
    [oxuser__oxcompany] => 
    [oxuser__oxaddinfo] => 
    [oxuser__oxstreet] => ????
    [oxuser__oxstreetnr] => ???
    [oxuser__oxzip] => ??
    [oxuser__oxcity] => ???
    [oxuser__oxustid] => 
    [oxuser__oxcountryid] => a7c40f631fc920687.20179984
    [oxuser__oxstateid] => 
    [oxuser__oxfon] => 

Tags

Die Tags schaltet man im AdminFrontend aus: Stammdaten→Grundeinstellungen→Reiter Einstellungen. Dort Shop-Frontend und Häckchen bei 'Tags im eShop anzeigen' wegmachen.

Preisalarm ausschalten

Auskommentieren in:

application/views/azure/tpl/page/details/inc/tabs.tpl

    [{* if $oView->isPriceAlarm() && !$oDetailsProduct->isParentNotBuyable()}]
        [{capture append="tabs"}]<a href="#pricealarm">[{oxmultilang ident="PRICE_ALERT"}]</a>[{/capture}]
        [{capture append="tabsContent"}]<div id="pricealarm">[{include file="form/pricealarm.tpl"}]</div>[{/capture}]
    [{/if *}]

application/views/azure/tpl/page/details/inc/productmain.tpl

                            [{* if $oView->isPriceAlarm() && $oDetailsProduct->isBuyable()}]
                                <li><a id="priceAlarmLink" rel="nofollow" href="[{ $oDetailsProduct->getLink()|cat:'#itemTabs'}]">[{oxmultilang ident="PRICE_ALERT"}]</a></li>
                            [{/if *}]

Bugs

method getIconUrl in application/models/oxbasketitem.php echt reingeschrieben

Trustedshops / Partners / Ratings

application/views/azure/tpl/layout/sidebar.tpl

Auskommentiert:

[{* include file="widget/trustedshops/ratings.tpl" *}]
[{* include file="widget/sidebar/partners.tpl" *}]
[{* include file="widget/shoplupe/ratings.tpl" *}]

Könnte man auch über die Modul-Blocküberschreibung machen. Blöcke: sidebar_trustedshopsratings sidebar_partners sidebar_shopluperatings

Hab es jetzt aber über eigenes, von Azure vererbtes Theme gemacht…

Sprache der PDF-Rechnung im Dropdown-Feld Standard en->de

modules/oe/invoicepdf/views/admin/blocks/order_overview.tpl

Zeile von:

<option value="[{$lang }]" [{if $lang == "0" }]SELECTED[{/if}]>[{$slang }]</option>

auf

<option value="[{$lang }]" [{if $lang == "1" }]SELECTED[{/if}]>[{$slang }]</option>

setzen

Newsletter

Das Modul macht an einige Stellen durch Blocküberschreibung schon Newsletter-Links (und Forms) weg.

application/views/azure/tpl/layout/footer.tpl

                    [{*if $oView->showNewsletter()}]
                        [{include file="widget/footer/newsletter.tpl"}]
                    [{/if*}]

Unten bei Informationen:

application/views/azure/tpl/widget/footer/info.tpl Zeile auskommentieren:

<li><a href="[{ oxgetseourl ident=$oViewConf->getSelfLink()|cat:"cl=newsletter" }]" rel="nofollow">[{ oxmultilang ident="NEWSLETTER" }]</a></li>

Shop offline, wenn Module nicht aktiv

Der Shop soll offline gehen, wenn sich das Modul aus irgendwelchen Gründen nicht deaktiviert.

Umsetzung: In den festen Code wird in eine Methode die Zeile:

oxRegistry::getUtils()->redirectOffline();

geschrieben. Die setzt den Shop offline.

Diese Methode MUSS durch das Modul komplett überschrieben werden. Natürlich ohne die Zeile. Dann geht der Shop immer offline, wenn das Modul nicht aktiviert ist.

Ich nehme die Methode isNotBuyable()

in der Klasse oxid/application/models/oxarticle.php . Die Methode sieht dann so aus:

    /**
     * Returns true if article is not buyable
     *
     * @return bool
     */
    public function isNotBuyable()
    {
	oxRegistry::getUtils()->redirectOffline(); // gerald: diese methode wird vom nbnumber-modul überschieben!
        return $this->_blNotBuyable;
    }

Im eigenen Modul muss es die Methode (natürlich ohne die Zeile) auch geben).

Mobile

Beim Mobile-Theme musste ich das Original nehmen, weil ich es nicht geschafft habe, das Theme zu vererben und dass dann der Theme Switcher nocht funtkioniert. Da hätte man evtl. so viel am Theme Switcher ändern müssen (Das Ändern der Einstellungen reicht nicht), dass es keine Sinn macht. Also nehme ich das Original-Theme und mache so viel über Blocks wie möglich. Es ist jedoch nicht nicht alles verblockt, besonders die Startseite nicht. Daher eine Änderung im Theme in oxid/application/views/mobile/tpl/layout/page.tpl

 
            [{include file="message/errors.tpl"}]
            [{include file="qqq/start.tpl"}]
            [{foreach from=$oxidBlock_content item="_block"}]

Also qqq/start.tpl . Ich habe ein tpl-Unterverzeichnis 'qqq' angelegt, und schreibe Änderungen da rein, damit es nicht beim Update überschrieben werden kann…

Database

ALTER TABLE `oxorder`  ADD `OXPAID_SUM` DOUBLE NOT NULL DEFAULT '0' COMMENT 'exact payment (not inserted by GUI))',  ADD `OXREMARK_INTERN` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'internal remark for payment'

Je nach Nachbestellnummer temporär in bes. Nutzergruppen

Database

INSERT INTO `oxgroups` (`OXID`, `OXACTIVE`, `OXTITLE`, `OXTITLE_1`, `OXTITLE_2`, `OXTITLE_3`, `OXTIMESTAMP`) VALUES
('einzelschatzkiste', 1, 'Einzelschatzkiste', 'Einzelschatzkiste', '', '', '2015-08-12 12:37:49');

Dann zu den Einstellungen gehen. Shopeinstellungen→ Rabatte. Neuen Rabatt über 10% anlegen namens (egal) 'Gruppe Einzahlerschatzkiste'. Unter Benutzer→ Benutzergruppen zuordnen die neu angelegte (datenbank) Gruppe 'Einzelzahlerschatzkiste' zuordnen.

Das Modul sieht sich die XMl-Datei an und wenn User über die NB-Nummer berechtigt ist, dann fügt er den Nutzer zu der Gruppe mit der OXID 'einzelschatzkiste' hinzu (daher muss man den Datenbankeintrag auch manuell anlegen, weil er sonst eine zufällig OXID vergibt). Den Nutzer fügt das Modul bei jedem Seitenaufruf erneut der Gruppe zu und speichert das NICHT in die DB. Auch wenn der Nutzer gar nicht angemeldet ist (wichtig!).

Download der gekauften Bilder

Wird voll in das File-Download-System integriert. Fängt Fälle ab, wenn die Downloaddate 'download.php' heisst (hardcoded).

Geänderte Dateien

/application/models/oxfile.php : public function download() : Umbiegen der Seite, wenn 'download.php'; DB-Abfrage, nach nbnumber.

/application/models/oxorderfilelist.php : Erweiterung der DB-Abfragen der 2 einzigen Funktionen (& $oOrderFile→addFieldName ?)

/application/controllers/account_downloads.php : _prepareForTemplate: liest die nbnumber der Bestellung aus pers_params aus.

Theme /Views :

application/views/(azure|mobile|qqq)/tpl/page/account/downloads.tpl : Bild statt Dateiname anzeigen & weitere Infos.

application/views/(azure|mobile|qqq)/tpl/page/account/inc/file_attributes.tpl : Dateigrösse entfernt

Richtige Anzeige statt Dateinamens (due NB-Nummer soll angezeigt werden) in Download-Link-eMails und Bestätigungsmails:

/application/models/oxorderfile.php : getFileSize() gibt leeren String zurück (damit kein Bytegrösse angezeigt wird) & neue Methode getNBNUMBER() (liest nbnumber aus persParam aus). Ausserdem wird modules/qqq/nbnumbers/out/get_fullimage.php aufgerufen (via curl), um das volle Bild in den Cache zu bekommen. Diese Datei wird nur von den TPLs gebraucht.

Dazugehörende TPLs: (wegen getFileSize & additional [{$oOrderFile→getNBNUMBER()}] )

application/views/(azure|mobile|qqq)/tpl/email/html/order_cust.tpl (block email_html_order_cust_download_link)

application/views/(azure|mobile)/tpl/email/html/senddownloadlinks.tpl (block email_html_senddownloadlinks_download_link)

(application/views/(azure|mobile)/tpl/page/account/inc/file_attributes.tpl : sollte schon anderweitig abgefangen werden)

 
Nach oben
oxid/changes.txt · Zuletzt geändert: 2024/05/08 15:31 von gerald
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0
DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp   Dogecoin Donations Accepted Here    DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp  DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp