From 084d769cb640fc35acfabb02000a64e30a55185c Mon Sep 17 00:00:00 2001 From: Josh Knapp Date: Fri, 27 Dec 2024 15:16:53 -0800 Subject: [PATCH] updating css and html elements to improve display --- css/fw-store-embed.css | 15 ++++++++++----- libs/shortcode.php | 39 +++++++++++++++++++-------------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/css/fw-store-embed.css b/css/fw-store-embed.css index 1843175..0ebd000 100644 --- a/css/fw-store-embed.css +++ b/css/fw-store-embed.css @@ -1,6 +1,6 @@ .fw-store-parent { align-content: center; - vertical-align: top; + vertical-align: bottom; overflow-y: auto; text-align:center; margin:0 auto; @@ -9,12 +9,12 @@ .product-tile { align-content: center; - vertical-align: top; + vertical-align: bottom; background: white; display:inline-block; - width:200px; - margin:0 25px 25px; - + width:225px; + margin:15px 15px 15px 15px; + } .product-tile img { @@ -35,3 +35,8 @@ font-size: 20px; font-style: italic; } + +.tile__heading { + font-size: 0.88em; /* Reduced font size for product titles */ + font-weight: bold; +} \ No newline at end of file diff --git a/libs/shortcode.php b/libs/shortcode.php index cdcbc4f..0cea0c2 100644 --- a/libs/shortcode.php +++ b/libs/shortcode.php @@ -12,38 +12,37 @@ function fwembed_parse_html($url = null) { foreach ($divs as $div) { if ($div->hasAttribute('data-testid') && $div->getAttribute('data-testid') === 'product') { $xpath = new DOMXPath($dom); - - $tileItem = $xpath->query('.//img[contains(@class, "tile__item--1") - and not(contains(@class, "badge")) + + $tileLink = $xpath->query('.//a[contains(@class, "tile")]', $div); + $tileItem = $xpath->query('.//img[contains(@class, "tile__item--1") + and not(contains(@class, "badge")) and not(contains(@class, "tile_options")) and not(contains(@class, "tile__item--2"))]', $div); - $tileDesc = $xpath->query('.//*[contains(@class, "tile__description") - and not(contains(@class, "badge")) + $tileDesc = $xpath->query('.//*[contains(@class, "tile__description") + and not(contains(@class, "badge")) and not(contains(@class, "tile_options"))]', $div); - $tileHeading = $xpath->query('.//*[contains(@class, "tile__heading") - and not(contains(@class, "badge")) - and not(contains(@class, "tile_options"))]', $div); - $tilePrices = $xpath->query('.//*[contains(@class, "tile__prices") - and not(contains(@class, "badge")) - and not(contains(@class, "tile_options"))]', $div); + $tilePrices = $xpath->query('.//*[contains(@class, "tile__prices") + and not(contains(@class, "badge")) + and not(contains(@class, "tile_options")) + and not(contains(@class, "tile__price tile__price--original"))]', $div); $productHTML = ''; + $linkHref = ''; + if ($tileLink->length > 0) { + $linkHref = $tileLink->item(0)->getAttribute('href'); + } if ($tileItem->length > 0) { $productHTML .= $dom->saveHTML($tileItem->item(0)); } if ($tileDesc->length > 0) { $productHTML .= $dom->saveHTML($tileDesc->item(0)); } - if ($tileHeading->length > 0) { - $productHTML .= $dom->saveHTML($tileHeading->item(0)); - } - if ($tilePrices->length > 0) { - $productHTML .= $dom->saveHTML($tilePrices->item(0)); - } + //if ($tilePrices->length > 0) { + // $productHTML .= $dom->saveHTML($tilePrices->item(0)); + // } - $html = $html . '
' . $productHTML . '
'; + $html = $html . '
' . $productHTML . '
'; } } - $html = str_replace('a href="', 'a target="_blank" href="' . $url, $html); return $html; } @@ -54,4 +53,4 @@ function fwembed_shortcode( $atts ) { $store_render = '
' . PHP_EOL . $store_html . PHP_EOL . '
'; return $store_render; } -add_shortcode( 'fourthwall', 'fwembed_shortcode' ); +add_shortcode( 'fourthwall', 'fwembed_shortcode' ); \ No newline at end of file