계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부
现在我们已经完全定制了前半部分 主页,接下来我们需要修改主页的内容。如果我们看看我们的 HTML设计,首页内容部分只有一个标题和最新的轮播 产品。有一个 Magento 小部件,我们可以使用它来显示最新的产品 主页。实际上,如果我们查看当前的主页部分,它已经有 其上启用了最新的产品小部件,但我们需要修改它以匹配我们的 设计要求。
如果我们通过管理面板查看主页内容 > CMS > 页面 > Madison Island > 内容,我们会看到只有一行PHP代码 (除了一些样式标签),即:
{{widget type="catalog/product_widget_new" display_type="new_products" products_count="5" template="catalog/product/widget/new/content/new_grid.phtml"}}
所以,基本上所有的首页内容都来自于此
模板(这只是展示新产品的模板)。我们将复制这个
文件从 RWD 主题到我们的新主题,位于 catalog/product/widget/new/content/new_grid.phtml
,
并开始编辑它,使其看起来像我们的 HTML 设计。如果我们看一下
该文件的当前代码是:
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?> <div class="widget widget-new-products"> <div class="widget-title"> <h2><?php echo $this->__('New Products') ?></h2> </div> <div class="widget-products"> <?php echo $this->getPagerHtml() ?> <?php $_columnCount = $this->getColumnCount(); ?> <?php $i=0; ?> <ul class="products-grid products-grid--max-<?php echo $_columnCount; ?>-col"> <?php foreach ($_products->getItems() as $_product): ?> <li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>"> <?php $_imgSize = 210; ?> <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>" class="product-image"> <img src="/static/imghw/default1.png" data-src="images/products/small/products-02.jpg" class="lazy"catalog/image')- alt="계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부" >init($_product, 'small_image')->resize(85) ?>" alt="<?php echo $this->stripTags($_product->getName(), null, true) ?>" /> </a> <div class="product-info"> <h3 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('catalog/output')->productAttribute($_product, $_product->getName() , 'name') ?></a></h3> <?php echo $this->getPriceHtml($_product, true, '-widget-new-grid') ?> <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?> <div class="actions"> <?php if ($_product->isSaleable()): ?> <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> <?php else: ?> <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> <?php endif; ?> <ul class="add-to-links"> <?php if ($this->helper('wishlist')->isAllow()) : ?> <li><a href="<?php echo $this->getAddToWishlistUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li> <?php endif; ?> <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?> <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li> <?php endif; ?> </ul> </div> </div> </li> <?php endforeach; ?> </ul> </div> </div> <?php endif; ?>
当我们查看本部分的 HTML 代码时,它看起来 像这样:
<div class="container_fullwidth"> <div class="container"> <h3 id="strong-Hot-strong-Products"><strong>Hot</strong> Products</h3> <div class="clearfix"></div> <div id="owl-demo" class="owl-carousel"> <div class="item"> <div class="products"> <div class="main"> <div class="view view-eighth"> <img src="/static/imghw/default1.png" data-src="images/products/small/products-02.jpg" class="lazy" / alt="계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부" > <div class="mask"> <a href="#" class="info">Add to Cart</a> </div> <div class="productname">Iphone 5s Gold 32 Gb 2013</div> <h4 id="">$451.00</h4> </div> </div> </div> </div> </div>
因此,我们首先在此 HTML 中插入动态标签。我的原因是 向您显示该文件的当前代码,以便您可以找到所需的 该代码中的动态标记,并将它们放入 HTML 中。
我们不必对 div 结构进行任何更改,因此第一行
需要更改的是 h3
标记:
<h3 id="strong-Hot-strong-Products"><strong>Hot</strong> Products</h3>
我们需要将 Hot
和 Products
的静态文本替换为 Magento $this
标签,以便 Magento 稍后可以根据用户偏好翻译这些标签。
因此,这一行将变成这样:
<h3 class="title"><strong><?php echo $this->__('New') ?></strong><?php echo $this->__(' Products') ?></h3>
下一行需要更改的是 image
标记,我们需要在其中更改
relevant path of the image source. Currently it looks 像这样:
<img src="/static/imghw/default1.png" data-src="images/products/small/products-02.jpg" class="lazy" / alt="계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부" >
我们将其更改为:
<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303543177.png" class="lazy"catalog/image')- alt="계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부" >init($_product, 'small_image')->resize(236, 357) ?>"/>
这里这个动态标签将获取产品的实际小图像
236 x 357 像素大小。接下来,我们需要更改这个 Add to Cart
链接:
<a href="#" class="info">Add to Cart</a>
我们将其更改为:
<a href="<?php echo $_product->getProductUrl() ?>" class="info"> <?php if ($_product->isSaleable()): ?> <?php echo $this->__('Add to Cart') ?> <?php else: ?> <?php echo $this->__('Out of stock') ?> <?php endif; ?> </a>
它有一个产品详细信息页面的动态 URL,并且仅显示“添加到” 购物车”(如果产品可用)。否则会显示“缺货”。最后, 我们将通过替换此行来更新产品价格和名称:
<div class="productname">Iphone 5s Gold 32 Gb 2013</div> <h4 id="">$451.00</h4>
有了这个:
<div class="productname"><?php echo $this->helper('catalog/output')->productAttribute($_product, $_product->getName() , 'name') ?></div> <h4 class="price"><?php echo $this->getPriceHtml($_product, true, '-widget-new-grid') ?></h4>
这将使我们的单一产品视图准备就绪,但要迭代它 新产品,我们必须将 item div 包含在循环中,因此我们将添加这一行 在它的顶部:
<?php foreach ($_products->getItems() as $_product): ?>
最后的这一行用于终止循环:
<?php endforeach; ?>
So the full code for that file will become 像这样:
getProductCollection()) && $_products->getSize()): ?><h3 class="title"><strong><?php echo $this->__('New') ?></strong><?php echo $this->__(' Products') ?></h3><?php foreach ($_products->getItems() as $_product): ?><?php endforeach; ?><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303543177.png" class="lazy"catalog/image')- alt="계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부" >init($_product, 'small_image')->resize(236, 357) ?>"/>helper('catalog/output')->productAttribute($_product, $_product->getName() , 'name') ?>getPriceHtml($_product, true, '-widget-new-grid') ?>
立即刷新您的主页。它应该有一个完美的工作和风格 new products section, which would look 像这样:
现在我们需要在完成主页之前修改页脚。如果 我们看看我们的 HTML 设计,页脚有四个部分。第一个显示“我们的 品牌,第二个显示订阅框和社交媒体链接,第三个 显示一些 URL,第四个只是版权声明。
第四部分已经存在于我们的主题中,所以我们只需 必须修改内容和样式,但其他三个组件我们必须添加到主题中。
要添加组件,我们将创建一个新的 来自管理面板的静态块并将我们的内容放在那里。那么,我们将前往 管理面板 > 静态块 > 添加新块 阻止,并为我们的 品牌部分。我们将块标题更改为“我们的品牌”,设置 标识符为“our_brands”,选择“All Store Views”的商店视图,然后输入 内容部分:
<h3 id="strong-Our-strong-Brands"><strong>Our </strong> Brands</h3> <div class="control"><a id="prev_brand" class="prev" href="#"><</a><a id="next_brand" class="next" href="#">></a></div> <ul id="braldLogo"> <li> <ul class="brand_item"> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/themeforest.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/photodune.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/activeden.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> </ul> </li> <li> <ul class="brand_item"> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/themeforest.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/photodune.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/activeden.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> </ul> </li> </ul>
如果你仔细观察,它与我们在 HTML 中的代码相同 部分 - 我们刚刚更改了图像的相对路径,同时手动 从所见即所得编辑器中上传新图像。保存块,并且 开始为注册部分创建另一个块。
对于第二个块,我们将使用“页脚上方”的块标题。对于标识符,我们将使用“above_footer”,对于内容,我们将输入以下代码:
<div class="col-md-5"> <form class="newsletter"> <input type="text" name="" placeholder="Type your email...."> <input type="submit" value="SignUp" class="button"> </form> </div> <div class="col-md-6"> <ul class="social-icon"> <li><a href="#" class="linkedin"></a></li> <li><a href="#" class="google-plus"></a></li> <li><a href="#" class="twitter"></a></li> <li><a href="#" class="facebook"></a></li> </ul> </div>
现在我们必须以类似的方式创建链接块。我们将创建一个 新块的块标题为“页脚链接”,标识符为“footer_links”,并将以下代码放入其中:
<div class="col-md-3 col-sm-6"> <h4 id="Customer-strong-Support-strong">Customer<strong> Support</strong></h4> <ul class="support"> <li><a href="#">FAQ</a></li> <li><a href="#">Payment Option</a></li> <li><a href="#">Booking Tips</a></li> <li><a href="#">Infomation</a></li> </ul> </div> <div class="col-md-3 col-sm-6"> <h4 id="Customer-strong-Support-strong">Customer<strong> Support</strong></h4> <ul class="support"> <li><a href="#">FAQ</a></li> <li><a href="#">Payment Option</a></li> <li><a href="#">Booking Tips</a></li> <li><a href="#">Infomation</a></li> </ul> </div> <div class="col-md-3 col-sm-6"> <h4 id="Customer-strong-Support-strong">Customer<strong> Support</strong></h4> <ul class="support"> <li><a href="#">FAQ</a></li> <li><a href="#">Payment Option</a></li> <li><a href="#">Booking Tips</a></li> <li><a href="#">Infomation</a></li> </ul> </div> <div class="col-md-3 col-sm-6"> <h4 id="Contact-strong-Info-strong">Contact <strong>Info</strong></h4> <p><span><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/placeIcon.jpg"}}" alt="" /></span>Anwar ul Haq , California</p> <p><span><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/phoneIcon.jpg"}}" alt="" /></span>Call Us : (123) 398 5063</p> <p><span><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/mobileIcon.jpg"}}" alt="" /></span>Call Us : (123) 398 5063</p> <p><span><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/169477303564679.jpg" class="lazy"wysiwyg/myuploads/mailIcon.jpg"}}" alt="" /></span>Email : abs@tutsplus</p> </div>
所有这些链接现在都没有链接,但您可以稍后修改它们。 图像链接再次使用所见即所得的上传功能动态生成 编辑。所有其余代码只是从 HTML 复制并粘贴。
也保存这个块,然后查看主页,但仍然看不到这些
三个街区出现。这是因为你必须明确告诉 Magento
在哪里显示这些新块,我们可以从布局部分做到这一点。为了
为此,转到 layout/local.xml
文件,并在 default
标记结束之前添加这些行。
<reference name="footer"> <block type="cms/block" name="footer_links "> <action method="setBlockId"><block_id>footer_links</block_id></action> </block> <block type="cms/block" name="above_footer"> <action method="setBlockId"><block_id>above_footer</block_id></action> </block> <block type="cms/block" name="our_brands"> <action method="setBlockId"><block_id>our_brands</block_id></action> </block> </reference>
这个
XML 代码基本上是告诉 Magento 将这两个新块添加到 Magento 中
页脚部分。最后,我们需要从页脚 phtml 调用这些块
文件。为此,我们将在此位置创建一个新的 footer.phtml 文件:template/page/html/footer.phtml
。
在此 footer.phtml
文件中添加此代码:
<div class="container_fullwidth"> <div class="container"> <div class="our-brand"> <?php echo $this->getChildHtml("our_brands") ?> </div> </div> <div class="clearfix"></div> <div class="footer"> <div class="copyright-info"> <div class="container"> <div class="row"> <?php echo $this->getChildHtml("above_footer") ?> </div> </div> </div> <div class="footer-info"> <div class="container"> <div class="row"> <?php echo $this->getChildHtml("footer_links_sm") ?> <?php // echo $this->getChildHtml() ?> </div> </div> </div> <div class="copyright-info"> <div class="container"> <div class="row"> <div class="col-md-12"> <p><?php echo $this->getCopyright() ?></p> </div> </div> </div> </div> </div> </div>
这个 is again just HTML code taken, where all the section codes are 替换为静态块的相关链接。版权部分是 替换为版权动态标签。
现在检查主页,它现在应该显示这些新创建的静态 Blocks, and should look 像这样:
我们的主页现已完成。唯一剩下的就是一些风格修正, 我们将在下一篇文章中做到这一点。
위 내용은 계속 탐색: Magento 테마 개발 홈페이지 디자인, 3부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.
