<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OXID | Nerdpress.org</title>
	<atom:link href="https://nerdpress.org/category/ecommerce/oxid/feed/" rel="self" type="application/rss+xml" />
	<link>https://nerdpress.org</link>
	<description>...dev, tech problems and solutions.</description>
	<lastBuildDate>Fri, 05 Jun 2020 07:02:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Updating OXID eShop to 6.2.0</title>
		<link>https://nerdpress.org/2020/04/20/updating-oxid-eshop-to-6-2-0/</link>
		
		<dc:creator><![CDATA[Ivo Bathke]]></dc:creator>
		<pubDate>Mon, 20 Apr 2020 11:11:49 +0000</pubDate>
				<category><![CDATA[OXID]]></category>
		<guid isPermaLink="false">https://nerdpress.org/?p=2910</guid>

					<description><![CDATA[<p>Oxid eShop 6.2 is released and its a good step forward to a modernized codebase, embracing best practices and more symfony-like patterns. Since i do a lot of coding with symfony besides OXID i was very exited about this new version. So i gave it a try and updated one of the shops i maintain. &#8230; </p>
<p class="link-more"><a href="https://nerdpress.org/2020/04/20/updating-oxid-eshop-to-6-2-0/" class="more-link">Continue reading<span class="screen-reader-text"> "Updating OXID eShop to 6.2.0"</span></a></p>
The post <a href="https://nerdpress.org/2020/04/20/updating-oxid-eshop-to-6-2-0/">Updating OXID eShop to 6.2.0</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></description>
										<content:encoded><![CDATA[<p><a href="https://oxidforge.org/en/oxid-eshop-version-6-2-0.html" class="aioseop-link">Oxid eShop 6.2</a> is released and its a good step forward to a modernized codebase, embracing best practices and more symfony-like patterns.</p>



<p>Since i do a lot of coding with symfony besides OXID i was very exited about this new version.  So i gave it a try and updated one of the shops i maintain. (<s>Its not public yet, i will update this post once we launch</s>, Its launched by now, yay: <a href="https://www.cafelehmitz-photobooks.com/">https://www.cafelehmitz-photobooks.com/</a>).</p>



<p>I basically followed this upgrade guide: <a href="https://docs.oxid-esales.com/eshop/de/6.2/installation/update/von-6.1.x-auf-6.2.0-aktualisieren.html">https://docs.oxid-esales.com/eshop/de/6.2/installation/update/von-6.1.x-auf-6.2.0-aktualisieren.html</a><br><br>So here is my experience updating OXID eShop 6.1.5 to 6.2.0:</p>



<span id="more-2910"></span>



<p><strong>0. Update the Shop to latest 6.1 version and and also update all used modules to their latest version.</strong><br>Since some sloppy things that were tolerated in modules before are now not tolerated anymore, we need to update the modules.<br><code>OXID 6.2. will throw errors when your modules metadata.php uses non strict code like constrains/contraints typo or wrong version number, which was tolerated before 6.2</code>.<br><br>So to avoid errors like:<br><code>Module directory of /var/www/html/source/modules/ab/htmlmin could not be installed due to Metadata version 2 is not supported</code><br><br>&#8230;upgrade your modules and contact the maintainers if this issues are not fixed yet in their modules.<br></p>



<p><strong>1. Update the composer.json</strong><br><code>"require": {<br>    "oxid-esales/oxideshop-metapackage-ce": "v6.2.0"<br> },<br> "require-dev": {<br>    "oxid-esales/testing-library": "^v7.0.1",<br>    "incenteev/composer-parameter-handler": "^v2.0.0",<br>    "oxid-esales/oxideshop-ide-helper": "^v3.1.2",<br>    "oxid-esales/azure-theme": "^v1.4.2"<br> }</code></p>



<p><strong>2. Clear tmp dir: </strong><br><code>rm -rf source/tmp/*</code></p>



<p><strong>3. Run composer update</strong><br><code>composer update --no-plugins --no-scripts --no-dev</code></p>



<p><strong>4. Copy overridablefunctions.php</strong><br><code>cp vendor/oxid-esales/oxideshop-ce/source/overridablefunctions.php source/</code></p>



<p><strong>5. Run the composer scripts</strong><br><code>composer update --no-dev</code></p>



<p><strong>6. Run DB migrations</strong> <br>&#8230;there were no migrations in my case, tough.<br><code>vendor/bin/oe-eshop-db_migrate migrations:migrate</code></p>



<p><strong>7.  Migrate or <a href="https://docs.oxid-esales.com/eshop/de/6.2/installation/update/von-6.1.x-auf-6.2.0-aktualisieren.html#schritt-aktualisierung-der-modulkonfigurationen" class="aioseop-link">update the modules</a></strong><br>Require the module update helper component:<br>  <code> composer require --no-update oxid-esales/oxideshop-update-component</code><br>And run update:<br><code>composer update --no-dev --no-interaction</code><br>However this wasnt working and it removed all dev libraries and led to this error:<br><code>PHP Warning:  Uncaught ErrorException: require(/var/www/html/vendor/composer/../ralouphie/getallheaders/src/getallheaders.php): failed to open stream: No such file or directory in /var/www/html/vendor/composer/autoload_real.php:73</code></p>



<p>So i had to adjust the command and omit the &#8211;no-dev option.<br>    <code>composer update --no-interaction</code></p>



<p><strong>8. Run creation of standard module yaml configuration</strong><br><code>vendor/bin/oe-console oe:oxideshop-update-component:install-all-modules</code></p>



<p><strong>9. Transfer module data from DB into new yaml configuration</strong><br><code>vendor/bin/oe-console oe:oxideshop-update-component:transfer-module-data </code></p>



<p><strong>10. Delete module configuration from DB</strong><br><code>vendor/bin/oe-console oe:oxideshop-update-component:delete-module-data-from-database</code></p>



<p><strong>11. Activate module with new configuration</strong><br><code>vendor/bin/oe-console oe:module:apply-configuration</code></p>



<p><strong>12. Remove module Updater again</strong><br><code>composer remove --no-update oxid-esales/oxideshop-update-component<br>composer update --no-interaction</code><br>Same here: this worked only by omitting the &#8211;no-dev option.</p>



<p><strong>13. Remove xd_receiver.htm</strong><br><code>rm source/xd_receiver.htm</code></p>



<p><strong>14. Once all was done clear the cache again</strong><br><code>rm -rf source/tmp/*</code><br>You might experience an error with<a href="https://github.com/OXIDprojects/ocb_cleartmp" class="aioseop-link"> oxid-community/ocbcleartmp</a> module.<br> <code>[2020-04-14 17:40:16] OXID Logger.ERROR: Function 'isEEVersion' does not exist or is not accessible! (OxidEsales\Eshop\Application\Controller\Admin\NavigationController)</code></p>



<p>So clear tmp and deactivate the module and reactivate it again, solved this.<br>The module was still using not exisiting code from cache.</p>



<p>Thats it. <strong>Nice!</strong><br>Upgrading went almost smooth.<br>Now im looking forward to use DependencyInjection, Custom Commands and Doctrine QueryBuilder in this updated shop.</p>The post <a href="https://nerdpress.org/2020/04/20/updating-oxid-eshop-to-6-2-0/">Updating OXID eShop to 6.2.0</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hersteller Url umnennen in OXID eShop</title>
		<link>https://nerdpress.org/2019/03/27/hersteller-url-umnennen-in-oxid-eshop/</link>
		
		<dc:creator><![CDATA[Ivo Bathke]]></dc:creator>
		<pubDate>Wed, 27 Mar 2019 09:57:21 +0000</pubDate>
				<category><![CDATA[OXID]]></category>
		<guid isPermaLink="false">https://nerdpress.org/?p=2861</guid>

					<description><![CDATA[<p>Standardmässig macht der OXID V6* Shop die Marken bzw Hersteller Urls so: url.shop/nach-hersteller/hersteller-xyz Möchte man &#8220;Nach Hersteller&#8221; umnennen in zB &#8220;Marken&#8221; muss man folgendes machen: Im Code: Ändere die Translation Konstante BY_MANUFACTURER: source/Application/translations/de/lang.php:755 source/Application/translations/en/lang.php:755 in ZB: 2. Im Shop Admin Bereich: Stammdaten -&#62; Grundeinstellungen -&#62; SEO Seo URLs neu berechnen Cache leeren</p>
The post <a href="https://nerdpress.org/2019/03/27/hersteller-url-umnennen-in-oxid-eshop/">Hersteller Url umnennen in OXID eShop</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></description>
										<content:encoded><![CDATA[<p>Standardmässig macht der OXID V6* Shop die Marken bzw Hersteller Urls so:</p>



<p><em>url.shop/nach-hersteller/hersteller-xyz</em></p>



<p>Möchte man &#8220;Nach Hersteller&#8221; umnennen in zB &#8220;Marken&#8221; muss man folgendes machen:</p>



<span id="more-2861"></span>



<ol class="wp-block-list"><li>Im Code:</li></ol>



<ul class="wp-block-list"><li>Ändere die Translation Konstante <strong>BY_MANUFACTURER</strong>:<br><em> source/Application/translations/de/lang.php:755<br> source/Application/translations/en/lang.php:755</em><br></li></ul>



<p>in ZB:</p>


<pre class="wp-block-code"><span><code class="hljs language-php"> <span class="hljs-string">'BY_MANUFACTURER'</span> =&gt; <span class="hljs-string">'Marken'</span>,</code></span></pre>


<p>2. Im Shop Admin Bereich:</p>



<ul class="wp-block-list"><li>Stammdaten -&gt; Grundeinstellungen -&gt; SEO</li><li>Seo URLs neu berechnen</li><li>Cache leeren</li></ul>The post <a href="https://nerdpress.org/2019/03/27/hersteller-url-umnennen-in-oxid-eshop/">Hersteller Url umnennen in OXID eShop</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>OXID eshop routing</title>
		<link>https://nerdpress.org/2011/11/14/oxid-eshop-routing/</link>
		
		<dc:creator><![CDATA[Ivo Bathke]]></dc:creator>
		<pubDate>Mon, 14 Nov 2011 10:53:05 +0000</pubDate>
				<category><![CDATA[OXID]]></category>
		<guid isPermaLink="false">https://nerdpress.org/?p=1949</guid>

					<description><![CDATA[<p>If you wonder about routing in OXID eshops or how the URL structure is here are some hints: OXIDs MVC, well thats some kind of different naming and you have to get used to: the M (Model) you find in /core the V you find in in your templates in /out, there the main view &#8230; </p>
<p class="link-more"><a href="https://nerdpress.org/2011/11/14/oxid-eshop-routing/" class="more-link">Continue reading<span class="screen-reader-text"> "OXID eshop routing"</span></a></p>
The post <a href="https://nerdpress.org/2011/11/14/oxid-eshop-routing/">OXID eshop routing</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></description>
										<content:encoded><![CDATA[<p>If you wonder about routing in OXID eshops or how the URL structure is here are some hints:</p>
<p>OXIDs MVC, well thats some kind of different naming and you have to get used to:</p>
<p>the <strong>M</strong> (Model) you find in /core<br />
the <strong>V</strong> you find in in your templates in /out, there the main view is called the same as your controller, given the controller has a render() method.<br />
/views/details =&gt; /out/[templatename]/page/details.tpl<br />
the <strong>C</strong> (Controller) you find in /views (<em>what? oyerywell!</em>)<br />
like /views/details.php</p>
<p>The routing itself is like so:<br />
<span id="more-1949"></span></p>
<pre class="brush: plain; title: ; notranslate">?cl = controller</pre>
<p>in /views</p>
<pre class="brush: plain; title: ; notranslate">?anid = productID </pre>
<p>(that means the hash from the OXID field) or uid if you busy with users or any other relevant id</p>
<pre class="brush: plain; title: ; notranslate">?fnc = myfunction</pre>
<p>the method in the controller in /views</p>
<p>So this ends up in something like this:</p>
<pre class="brush: plain; title: ; notranslate">&lt;br /&gt;
theshop.de?cl=details&amp;amp;anid=05848170643ab0deb9914566391c0c63&amp;amp;fnc=myfunction&lt;br /&gt;
</pre>
<p>This is unmasked routing, normally OXID has this covered in SEO URLs with prettier slugs.</p>
<p>To use custom methods in the controller you have to extend it, the OXID module way, check this <a href="http://wiki.oxidforge.org/Tutorials#How_to_Extend_OXID_eShop_With_Modules_.28Part_1.29">here</a>.</p>
<p>Apropos OXID module way: actually its not so bad, i like the emulation of multiple overloading for the models and controllers.<br />
The module registry in the database however is something id rather have in the code, that would be easier to maintain over environments.<br />
Also some better cascading for templates, assets, lang files etc in the modules would be cool. That &#8220;<em>copy here copy there</em>&#8221; installations can be quite annoying.<br />
But anyway: i can deal with that.</p>The post <a href="https://nerdpress.org/2011/11/14/oxid-eshop-routing/">OXID eshop routing</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>OXID eShop manufacturer long description module and fck editor module</title>
		<link>https://nerdpress.org/2011/09/15/oxid-eshop-manufacturer-long-description-module-and-fck-editor-module/</link>
		
		<dc:creator><![CDATA[Ivo Bathke]]></dc:creator>
		<pubDate>Thu, 15 Sep 2011 15:00:59 +0000</pubDate>
				<category><![CDATA[OXID]]></category>
		<guid isPermaLink="false">https://nerdpress.org/?p=1681</guid>

					<description><![CDATA[<p>I recently made my first OXID eShop module: OXID-manufacturer-text-mod Which basically adds a long description field to the manufacturer. This comes just as a normal textarea, as usual in OXID CE. If you would like to add an Richtext Editor, you can purchase the fck Editor module and install it, if you did not already. &#8230; </p>
<p class="link-more"><a href="https://nerdpress.org/2011/09/15/oxid-eshop-manufacturer-long-description-module-and-fck-editor-module/" class="more-link">Continue reading<span class="screen-reader-text"> "OXID eShop manufacturer long description module and fck editor module"</span></a></p>
The post <a href="https://nerdpress.org/2011/09/15/oxid-eshop-manufacturer-long-description-module-and-fck-editor-module/">OXID eShop manufacturer long description module and fck editor module</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></description>
										<content:encoded><![CDATA[<p>I recently made my first OXID eShop module: <a href="https://github.com/ivoba/OXID-manufacturer-text-mod">OXID-manufacturer-text-mod</a><br />
Which basically adds a long description field to the manufacturer.</p>
<p>This comes just as a normal textarea, as usual in OXID CE.<br />
If you would like to add an Richtext Editor, you can purchase the <a href="http://www.oxid-esales.com/en/exchange/extensions/fckeditor-lauffaehig-mit-oxid-eepece?tab=get-extension&#038;term=2231">fck Editor module</a><br />
and install it, if you did not already.</p>
<p>After you installed the fck module your textareas of the basic shop are rich text.</p>
<p>But since the manufacturer long description comes from the module, you have to teach the fck module the new field.<br />
<span id="more-1681"></span><br />
Unfortunatly we cant extend the fck module, due to some private vars &#038; methods.<br />
So we have to hack it, like so:</p>
<p>Edit <em>modules/tc_fckeditor/tc_fck_editor.php</em></p>
<p>Add:<br />
line38+:</p>
<pre class="brush: php; title: ; notranslate">
const MANUFACTURERS_MAIN = 'oxmanufacturers__extlongdesc';
</pre>
<p>Add:<br />
line52+:</p>
<pre class="brush: php; title: ; notranslate">
self::MANUFACTURERS_MAIN =&gt; 'editor_oxmanufacturers__extlongdesc',
</pre>
<p>Add:<br />
line153+:</p>
<pre class="brush: php; title: ; notranslate">
           case self::MANUFACTURERS_MAIN:
                $editor-&gt;addCustomJavascript($this-&gt;modulePath . 'custom/oxid_categories.js');
                break;
</pre>
<p>Then enable the module for the manufacturer text in the modules section of the backend:<br />
<em>manufacturer_text => tc_fckeditor/tc_fckeditor</em></p>
<p>And you should be able to rich edit your manufacturer long description.</p>The post <a href="https://nerdpress.org/2011/09/15/oxid-eshop-manufacturer-long-description-module-and-fck-editor-module/">OXID eShop manufacturer long description module and fck editor module</a> first appeared on <a href="https://nerdpress.org">Nerdpress.org</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
