Jump to content
Lausli

Artikelzustand - Werte Hinzufügen

Recommended Posts

Hey,

 

weiß jemand, wie und ob man weitere Werte bei "Artikelzustand" hinzufügen kann?

3b2e8a1074c2470da37c95e7267fd543.png

 

Es gibt ja nur "Neu", "Gebraucht", "Überholt"

 

Ich finde aber "Neu mit Fehlern" für einige Artikel wie B-Ware deutlich besser. Gerade im Bezug auf anderer Marktplätze.

 

Danke :)

Share this post


Link to post
Share on other sites

Naja es geht hier u.A. Auch um das ebay Modul. Ich denke, wenn ich dass nur änder, dann hat der Artikel bei Ebay den Status "überholt" was falsch ist.

 

Tja, Hellsehen war noch nie meine Stärke ... :rolleyes:

 

Aber auch dort gibt es eine de.php:

$_MODULE['<{ebay}prestashop>ebayformitemsspecificstab_4853d997d934775518990d01720e68c5'] = 'generalüberholt';

Share this post


Link to post
Share on other sites

Guten morgen.

 

@rictools

Ich konnte da leider keine anders umgesetzten Werte finden. Könntest du das präzisieren?

Der Beitrag https://www.prestashop.com/forums/topic/229352-bo-product-condition-adddeleterename-prestashop-15/?do=findComment&comment=2372964 enthält leider keine neuen Informationen. Oder übersehe ich etwas?

 

@eleazar 

Das wäre dann tatsächlich eine Möglichkeit, wenn er das dann auch so übermittelt. Ich teste es nach einem Rückbau der Dateien mal.

Das mit dem eBay Modul wäre sicherlich erwähnenswert gewesen...Stimmt wohl.

 

Ich habe auch gerade gemerkt, dass er den neuen Wert Speichert. Es gibt die Fehlerseite von oben. Danach auf eine Seite zurück und der Wert ist gespeichert. Ich kann den Artikel dann jedoch auch nicht in der Vorschau aufrufen, weil es wieder den HTTP ERROR 500 Fehler gibt. Diesen gibt es dann auf jeder Seite bei jedem Artikel. die Seite ist quasi down.

 

Es gibt überall den Fehler.

 

Dann fiel mir auf, ich sollte wohl mal den Dev Mode einschalten.

 

Siehe da

Parse error: syntax error, unexpected ';', expecting ')' in /etc/nginx/html/##########/modules/blocklayered/blocklayered.php on line 2512

Das ist dann der Codeabschnitt:

				case 'condition':
					$condition_array = array(
						'new' => array('name' => $this->l('New'),'nbr' => 0),
						'used' => array('name' => $this->l('Used'), 'nbr' => 0),
						'refurbished' => array('name' => $this->l('Refurbished'),
						'newissue' => array('name' => $this->l('Neu mit Fehlern'), 
						'nbr' => 0)
					);

Also habe ich es geändert:

				case 'condition':
					$condition_array = array(
						'new' => array('name' => $this->l('New'),'nbr' => 0),
						'used' => array('name' => $this->l('Used'), 'nbr' => 0),
						'refurbished' => array('name' => $this->l('Refurbished'), 'nbr' => 0),
						'newissue' => array('name' => $this->l('Neu mit Fehlern'), 'nbr' => 0)
					);

Danach der nächste Fehler:

Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "/etc/nginx/html/###########/themes/default-bootstrap/product.tpl" on line 781 "{/if}" unexpected closing tag <-- thrown in /etc/nginx/html/###########/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 781

Der geänderte Codeabschnitt ist dieser:

			{if !$product->is_virtual && $product->condition}
			<p id="product_condition">
				<label>{l s='Condition:'} </label>
				{if $product->condition == 'new'}
					<link itemprop="itemCondition" href="https://schema.org/NewCondition"/>
					<span class="editable">{l s='New product'}</span>
				{elseif $product->condition == 'used'}
					<link itemprop="itemCondition" href="https://schema.org/UsedCondition"/>
					<span class="editable">{l s='Used'}</span>
				{elseif $product->condition == 'refurbished'}
					<link itemprop="itemCondition" href="https://schema.org/RefurbishedCondition"/>
					<span class="editable">{l s='Refurbished'}</span>
				{/if}
				{elseif $product->condition == 'newissue'}
					<link itemprop="itemCondition" href="https://schema.org/RefurbishedCondition"/>
					<span class="editable">{l s='Neu mit Fehlern'}</span>
				{/if}
			</p>

Ich kann natürlich in Smarty die {if} nicht 2 mal beenden...

 

Deswegen muss es so sein:

			{if !$product->is_virtual && $product->condition}
			<p id="product_condition">
				<label>{l s='Condition:'} </label>
				{if $product->condition == 'new'}
					<link itemprop="itemCondition" href="https://schema.org/NewCondition"/>
					<span class="editable">{l s='New product'}</span>
				{elseif $product->condition == 'used'}
					<link itemprop="itemCondition" href="https://schema.org/UsedCondition"/>
					<span class="editable">{l s='Used'}</span>
				{elseif $product->condition == 'refurbished'}
					<link itemprop="itemCondition" href="https://schema.org/RefurbishedCondition"/>
					<span class="editable">{l s='Refurbished'}</span>
				{elseif $product->condition == 'newissue'}
					<link itemprop="itemCondition" href="https://schema.org/RefurbishedCondition"/>
					<span class="editable">{l s='Neu mit Fehlern'}</span>
				{/if}
			</p>

So, nun kann ich Speichern und er gibt keine Fehler mehr aus.

Edited by Lausli

Share this post


Link to post
Share on other sites

Nein, in 1.7 ist es noch umständlicher, weil diese Lösung nämlich nicht mehr funktioniert.

Aber standardmäßig wird der Zustand in 1.7 doch sowieso nicht mehr angezeigt, außer wenn du beim einzelnen Artikel im Tab Optionen die Checkbox Zeige Zustand auf der Artikelseite an aktivierst. :D

 

Share this post


Link to post
Share on other sites

Hier der Hinweis für die Tüftler bei Version 1.7.

Die Änderungen/Erweiterungen gehören in die Datei \src\Core\Product\ProductPresenter.php, und zwar hier:

    private function addConditionInformation(
        array $presentedProduct,
        ProductPresentationSettings $settings,
        array $product
    ) {
        switch ($product['condition']) {
            case 'new':
                $presentedProduct['condition'] = array(
                    'type' => 'new',
                    'label' => $this->translator->trans('New product', array(), 'Shop.Theme.Catalog'),
                    'schema_url' => 'https://schema.org/NewCondition',
                );
                break;
            case 'used':
                $presentedProduct['condition'] = array(
                    'type' => 'used',
                    'label' => $this->translator->trans('Used', array(), 'Shop.Theme.Catalog'),
                    'schema_url' => 'https://schema.org/UsedCondition',
                );
                break;
            case 'refurbished':
                $presentedProduct['condition'] = array(
                    'type' => 'refurbished',
                    'label' => $this->translator->trans('Refurbished', array(), 'Shop.Theme.Catalog'),
                    'schema_url' => 'https://schema.org/RefurbishedCondition',
                );
                break;
            default:
                $presentedProduct['condition'] = false;
        }

        return $presentedProduct;
    }

Aber Vorsicht bei kreativen "schema_urls"! Denn bei schema.org gibt es außer den drei genannten nur noch den Zustand DamagedCondition!

Und weil's ja sonst zu leicht wäre, auch noch in die Facettennavigation, genauer die Datei \modules\ps_facetedsearch\ps_facetedsearch.php:

 case 'condition':
    $condition_array = array(
       'new' => array('name' => $this->trans('New', array(), 'Modules.Facetedsearch.Shop'), 'nbr' => 0),
       'used' => array('name' => $this->trans('Used', array(), 'Modules.Facetedsearch.Shop'), 'nbr' => 0),
       'refurbished' => array('name' => $this->trans('Refurbished', array(), 'Modules.Facetedsearch.Shop'), 'nbr' => 0,),
    );

... und dann natürlich noch in die beiden entsprechenden arrays der shop fields der /classes/Product.php:

            'condition' =>                array('type' => self::TYPE_STRING, 'shop' => true, 'validate' => 'isGenericName', 'values' => array('new', 'used', 'refurbished'), 'default' => 'new'),

... und selbstverständlich müssen solche Erweiterungen in das Feld condition der  Datenbanktabellen

ps_product und
ps_product_shop,

... in die entsprechenden Deklarationen  in

\js\admin\products.js
\src\PrestaShopBundle\Form\Admin\Product\ProductOptions.php

... ja, und dann wären da noch diverse Übersetzungs-Files wie

/app/Resources/translations/de-DE/ModulesFacetedsearchShop.de-DE.xlf
/app/Resources/translations/de-DE/ShopThemeCatalog.de-DE.xlf
/app/Resources/translations/default/ModulesFacetedsearchShop.xlf
/app/Resources/translations/default/ShopThemeCatalog.xlf
/app/Resources/translations/en-US/ModulesFacetedsearchShop.en-US.xlf
/app/Resources/translations/en-US/ShopThemeCatalog.en-US.xlf

Die englischen nicht vergessen, weil sonst eventuell die Quellübersetzung fehlt.

Na, ich hoffe, ich habe bei dem Wust von zu ändernden Dateien nichts vergessen. Ist doch alles ganz einfach in 1.7, oder? :D

 

Share this post


Link to post
Share on other sites

hi,

danke für die fixe antwort.
Na das klingt doch toll.. :P
Ich bin nicht so der FAN von ummoden vorallem wenn es dann updates gibt und alles evtl. nicht mehr funktioniert.

Dann lasse ich es lieber einfach ausgeblendet und pass die beschreibung an.

aber danke, hilft sicher auch einigen anderen die danach suchen :)

grüße.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More