Nelze nevybrat Stav skladu (produkt >/= 0) - nezobrazuje se aktuální hodnota skladu

Phoca Cart - complex e-commerce extension
johnyboom
Phoca Newbie
Phoca Newbie
Posts: 3
Joined: 30 May 2019, 13:38

Nelze nevybrat Stav skladu (produkt >/= 0) - nezobrazuje se aktuální hodnota skladu

Post by johnyboom »

Verze Joomla 3.9.6; PhocaCart 3.2.1; PHP 5.6

Pokud na produktu v "Možnosti skladu" zadám "Stav skladu (produkt > 0)" nebo "Stav skladu (produkt = 0)" na "- Vybrat ze skladu -" (COM_PHOCACART_SELECT_STOCK_STATUS), tak se při uložení atomaticky nastaví defaultní hodnoty (viz JFormFieldPhocaStockstatus).

Potřebuji vypsat aktuální hodnotu skladu místo "In stock" a "Out of stock" a jediný způsob, na který jsem přišel, je, když jsou nastaveny tyto hodnoty v databázi na 0 (viz adm/libraries/phocacart/stock/stock.php:82,101). Nebo lze toho docílit jiným způsobem?
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 48726
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Nelze nevybrat Stav skladu (produkt >/= 0) - nezobrazuje se aktuální hodnota skladu

Post by Jan »

Ahoj, bude to trochu složitější, ale zkus následující úpravy (když to bude Ok, pak to vložím do další verze):


administrator\components\com_phocacart\models\fields\phocastockstatus.php řádek cca 28 zakomentovat:

Code: Select all

		// DEFAULT VALUES
	/*	if ($man == 'a' && $this->value == 0) {
			$this->value = 2; // set default value for products in stock
		} else if ($man == 'n' && $this->value == 0) {
			$this->value = 1;// set default value when there is no product in stock
		} */
a řádek cca 41
Z:

Code: Select all

array_unshift($data, JHtml::_('select.option', '', '- '.JText::_('COM_PHOCACART_SELECT_STOCK_STATUS').' -', 'value', 'text'));
NA:

Code: Select all

array_unshift($data, JHtml::_('select.option', '0', '- '.JText::_('COM_PHOCACART_SELECT_STOCK_STATUS').' -', 'value', 'text'));
Tím pádem se výchozí hodnota pro ty dva parametry změní na nulu, tím pádem se místo statusů mohou zobrazovat čísla


Ovšem, abychom mohli zobrazit číslo 0 (NULA), musí se udělat další úpravy:
components/com_phocacart/views/item/tmpl/default.php řádek cca 244
Z:

Code: Select all

if($this->t['stock_status']['stock_status'] || $this->t['stock_status']['stock_count'] ) {
NA:

Code: Select all

if($this->t['stock_status']['stock_status'] || $this->t['stock_status']['stock_count'] !== false) {
Zobrazí se i nula

Ale musí se ještě podobně upravit i:
administrator/components/com_phocacart/libraries/phocacart/stock/stock.php řádek cca 170
Z:

Code: Select all

if ($stockStatus['stock_status'] && $stockStatus['stock_count']) {
			$o .= $stockStatus['stock_status'] . ' ('.$stockStatus['stock_count'].')';
		} else if (!$stockStatus['stock_status'] && $stockStatus['stock_count']) {
			$o .= $stockStatus['stock_count'];
		} else if ($stockStatus['stock_status'] && !$stockStatus['stock_count']) {
			$o .= $stockStatus['stock_status'];
		}
NA:

Code: Select all

if ($stockStatus['stock_status'] && $stockStatus['stock_count'] !== false) {
			$o .= $stockStatus['stock_status'] . ' ('.$stockStatus['stock_count'].')';
		} else if (!$stockStatus['stock_status'] && $stockStatus['stock_count'] !== false) {
			$o .= $stockStatus['stock_count'];
		} else if ($stockStatus['stock_status'] && !$stockStatus['stock_count'] === false) {
			$o .= $stockStatus['stock_status'];
		}

Zkus změnit a dej vědět, jestli je to OK

S tím, že při této editaci se pravděpodobně musí doplnit novej parametr a to - zobrazit pouze status - když někdo nebude chtít zobrazovat čísla

Tahle úprava je jen pro item view, takže zkoušet jen item view
If you find Phoca extensions useful, please support the project
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 48726
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Nelze nevybrat Stav skladu (produkt >/= 0) - nezobrazuje se aktuální hodnota skladu

Post by Jan »

V přístí verzi to bude následovně:

1) status nebude nastaven, zobrazí se pouze stav na skladu:

Image

2) status bude nastaven:
Image

Image

3) status bude nastaven a zároveň bude nastaven parametr pro zobrazení hodnoty skladu ve statusu:
Image

Image
If you find Phoca extensions useful, please support the project
johnyboom
Phoca Newbie
Phoca Newbie
Posts: 3
Joined: 30 May 2019, 13:38

Re: Nelze nevybrat Stav skladu (produkt >/= 0) - nezobrazuje se aktuální hodnota skladu

Post by johnyboom »

Super funguje. A moc díky za bleskovou reakci ;)
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 48726
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Nelze nevybrat Stav skladu (produkt >/= 0) - nezobrazuje se aktuální hodnota skladu

Post by Jan »

Ve verzi 3.2.2 přibyl nový parametr pro zobrazení skladu i ve statusu, viz:
https://www.phoca.cz/news/1036-phoca-ca ... 2-released

Vyzkoušej to prosím a dej mi vědět.

Díky.
If you find Phoca extensions useful, please support the project
Post Reply