mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-12-18 17:10:29 +03:00
Added Alternate way to get Price if no buttons available (#4342)
This commit is contained in:
parent
74496e23aa
commit
ec6f98e3c2
1 changed files with 13 additions and 8 deletions
|
@ -150,29 +150,34 @@ class IdealoBridge extends BridgeAbstract
|
||||||
$ActualNewPrice = $html->find('div[id=oopStage-conditionButton-new]', 0);
|
$ActualNewPrice = $html->find('div[id=oopStage-conditionButton-new]', 0);
|
||||||
// Second Button contains the used product price
|
// Second Button contains the used product price
|
||||||
$ActualUsedPrice = $html->find('div[id=oopStage-conditionButton-used]', 0);
|
$ActualUsedPrice = $html->find('div[id=oopStage-conditionButton-used]', 0);
|
||||||
|
// Get the first item of the offers list to have an option if there is no New/Used Button available
|
||||||
|
$altPrice = $html->find('.productOffers-listItemOfferPrice', 0);
|
||||||
|
|
||||||
if ($ActualNewPrice) {
|
if ($ActualNewPrice) {
|
||||||
$PriceNew = $ActualNewPrice->find('strong', 0)->plaintext;
|
$PriceNew = $ActualNewPrice->find('strong', 0)->plaintext;
|
||||||
// Save current price
|
// Save current price
|
||||||
$this->saveCacheValue($KeyNEW, $PriceNew);
|
$this->saveCacheValue($KeyNEW, $PriceNew);
|
||||||
} else if ($ActualNewPrice === null && $ActualUsedPrice !== null) {
|
} else if ($altPrice) {
|
||||||
// In case there is no actual New Price and a Ured Price exists, then delete the previous value in the cache
|
// Get price from first List item if no New/used Buttons available
|
||||||
|
$PriceNew = trim($altPrice->plaintext);
|
||||||
|
$this->saveCacheValue($KeyNEW, $PriceNew);
|
||||||
|
} else if (($ActualNewPrice === null || $altPrice === null) && $ActualUsedPrice !== null) {
|
||||||
|
// In case there is no actual New Price and a Used Price exists, then delete the previous value in the cache
|
||||||
$this->cache->delete($this->getShortName() . '_' . $KeyNEW);
|
$this->cache->delete($this->getShortName() . '_' . $KeyNEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Second Button contains the used product price
|
// Second Button contains the used product price
|
||||||
if ($ActualUsedPrice) {
|
if ($ActualUsedPrice) {
|
||||||
$PriceUsed = $ActualUsedPrice->find('strong', 0)->plaintext;
|
$PriceUsed = $ActualUsedPrice->find('strong', 0)->plaintext;
|
||||||
// Save current price
|
// Save current price
|
||||||
$this->saveCacheValue($KeyUSED, $PriceUsed);
|
$this->saveCacheValue($KeyUSED, $PriceUsed);
|
||||||
} else if ($ActualUsedPrice === null && $ActualNewPrice !== null) {
|
} else if ($ActualUsedPrice === null && ($ActualNewPrice !== null || $altPrice !== null)) {
|
||||||
// In case there is no actual Used Price and a New Price exists, then delete the previous value in the cache
|
// In case there is no actual Used Price and a New Price exists, then delete the previous value in the cache
|
||||||
$this->cache->delete($this->getShortName() . '_' . $KeyUSED);
|
$this->cache->delete($this->getShortName() . '_' . $KeyUSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only continue if a price has changed and there exists a New or Used price (sometimes no new Price _and_ Used Price are shown)
|
// Only continue if a price has changed and there exists a New, Used or Alternative price (sometimes no new Price _and_ Used Price are shown)
|
||||||
if (!($ActualNewPrice === null && $ActualUsedPrice === null ) && ($PriceNew != $OldPriceNew || $PriceUsed != $OldPriceUsed)) {
|
if (!($ActualNewPrice === null && $ActualUsedPrice === null && $altPrice === null) && ($PriceNew != $OldPriceNew || $PriceUsed != $OldPriceUsed)) {
|
||||||
// Get Product Image
|
// Get Product Image
|
||||||
$image = $html->find('.datasheet-cover-image', 0)->src;
|
$image = $html->find('.datasheet-cover-image', 0)->src;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue