現(xiàn)在我們已經(jīng)完全定制了前半部分
主頁,接下來我們需要修改主頁的內(nèi)容。如果我們看看我們的
HTML設(shè)計(jì),首頁內(nèi)容部分只有一個(gè)標(biāo)題和最新的輪播
產(chǎn)品。有一個(gè) Magento 小部件,我們可以使用它來顯示最新的產(chǎn)品
主頁。實(shí)際上,如果我們查看當(dāng)前的主頁部分,它已經(jīng)有
其上啟用了最新的產(chǎn)品小部件,但我們需要修改它以匹配我們的
設(shè)計(jì)要求。
如果我們通過管理面板查看主頁內(nèi)容 > CMS > 頁面 > Madison
Island > 內(nèi)容,我們會(huì)看到只有一行PHP代碼
(除了一些樣式標(biāo)簽),即:
{{widget type="catalog/product_widget_new" display_type="new_products" products_count="5" template="catalog/product/widget/new/content/new_grid.phtml"}}
登錄后復(fù)制
所以,基本上所有的首頁內(nèi)容都來自于此
模板(這只是展示新產(chǎn)品的模板)。我們將復(fù)制這個(gè)
文件從 RWD 主題到我們的新主題,位于 catalog/product/widget/new/content/new_grid.phtml
,
并開始編輯它,使其看起來像我們的 HTML 設(shè)計(jì)。如果我們看一下
該文件的當(dāng)前代碼是:
<?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="<?php echo $this->helper('catalog/image')->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; ?>
登錄后復(fù)制
當(dāng)我們查看本部分的 HTML 代碼時(shí),它看起來
像這樣:
<div class="container_fullwidth"> <div class="container"> <h3 class="title"><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="images/products/small/products-02.jpg" /> <div class="mask"> <a href="#" class="info">Add to Cart</a> </div> <div class="productname">Iphone 5s Gold 32 Gb 2013</div> <h4 class="price">$451.00</h4> </div> </div> </div> </div> </div>
登錄后復(fù)制
因此,我們首先在此 HTML 中插入動(dòng)態(tài)標(biāo)簽。我的原因是
向您顯示該文件的當(dāng)前代碼,以便您可以找到所需的
該代碼中的動(dòng)態(tài)標(biāo)記,并將它們放入 HTML 中。
我們不必對 div 結(jié)構(gòu)進(jìn)行任何更改,因此第一行
需要更改的是 h3
標(biāo)記:
<h3 class="title"><strong>Hot</strong> Products</h3>
登錄后復(fù)制
我們需要將 Hot
和 Products
的靜態(tài)文本替換為 Magento $this
標(biāo)簽,以便 Magento 稍后可以根據(jù)用戶偏好翻譯這些標(biāo)簽。
因此,這一行將變成這樣:
<h3 class="title"><strong><?php echo $this->__('New') ?></strong><?php echo $this->__(' Products') ?></h3>
登錄后復(fù)制
下一行需要更改的是 image
標(biāo)記,我們需要在其中更改
relevant path of the image source. Currently it looks 像這樣:
<img src="images/products/small/products-02.jpg" />
登錄后復(fù)制
我們將其更改為:
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(236, 357) ?>"/>
登錄后復(fù)制
這里這個(gè)動(dòng)態(tài)標(biāo)簽將獲取產(chǎn)品的實(shí)際小圖像
236 x 357 像素大小。接下來,我們需要更改這個(gè) Add to Cart
鏈接:
<a href="#" class="info">Add to Cart</a>
登錄后復(fù)制
我們將其更改為:
<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>
登錄后復(fù)制
它有一個(gè)產(chǎn)品詳細(xì)信息頁面的動(dòng)態(tài) URL,并且僅顯示“添加到”
購物車”(如果產(chǎn)品可用)。否則會(huì)顯示“缺貨”。最后,
我們將通過替換此行來更新產(chǎn)品價(jià)格和名稱:
<div class="productname">Iphone 5s Gold 32 Gb 2013</div> <h4 class="price">$451.00</h4>
登錄后復(fù)制
有了這個(gè):
<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>
登錄后復(fù)制
這將使我們的單一產(chǎn)品視圖準(zhǔn)備就緒,但要迭代它
新產(chǎn)品,我們必須將 item div 包含在循環(huán)中,因此我們將添加這一行
在它的頂部:
<?php foreach ($_products->getItems() as $_product): ?>
登錄后復(fù)制
最后的這一行用于終止循環(huán):
<?php endforeach; ?>
登錄后復(fù)制
So the full code for that file will become 像這樣:
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?> <div class="container_fullwidth"> <div class="container"> <h3 class="title"><strong><?php echo $this->__('New') ?></strong><?php echo $this->__(' Products') ?></h3> <div class="clearfix"></div> <div id="owl-demo" class="owl-carousel"> <?php foreach ($_products->getItems() as $_product): ?> <div class="item"> <div class="products"> <div class="main"> <div class="view view-eighth"> <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(236, 357) ?>"/> <div class="mask"> <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> </div> <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> </div> </div> </div> </div> <?php endforeach; ?> </div> </div> </div> <?php endif; ?>
登錄后復(fù)制
立即刷新您的主頁。它應(yīng)該有一個(gè)完美的工作和風(fēng)格
new products section, which would look 像這樣:
現(xiàn)在我們需要在完成主頁之前修改頁腳。如果
我們看看我們的 HTML 設(shè)計(jì),頁腳有四個(gè)部分。第一個(gè)顯示“我們的
品牌,第二個(gè)顯示訂閱框和社交媒體鏈接,第三個(gè)
顯示一些 URL,第四個(gè)只是版權(quán)聲明。
第四部分已經(jīng)存在于我們的主題中,所以我們只需
必須修改內(nèi)容和樣式,但其他三個(gè)組件我們必須添加到主題中。
要添加組件,我們將創(chuàng)建一個(gè)新的
來自管理面板的靜態(tài)塊并將我們的內(nèi)容放在那里。那么,我們將前往
管理面板 > 靜態(tài)塊 > 添加新塊
阻止,并為我們的
品牌部分。我們將塊標(biāo)題更改為“我們的品牌”,設(shè)置
標(biāo)識符為“our_brands”,選擇“All Store Views”的商店視圖,然后輸入
內(nèi)容部分:
<h3 class="title"><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="{{media url="wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/themeforest.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/photodune.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/activeden.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> </ul> </li> <li> <ul class="brand_item"> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/themeforest.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/photodune.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/activeden.png"}}" alt="" /></div> </a></li> <li><a href="#"> <div class="brand-logo"><img src="{{media url="wysiwyg/myuploads/envato.png"}}" alt="" /></div> </a></li> </ul> </li> </ul>
登錄后復(fù)制
如果你仔細(xì)觀察,它與我們在 HTML 中的代碼相同
部分 – 我們剛剛更改了圖像的相對路徑,同時(shí)手動(dòng)
從所見即所得編輯器中上傳新圖像。保存塊,并且
開始為注冊部分創(chuàng)建另一個(gè)塊。
對于第二個(gè)塊,我們將使用“頁腳上方”的塊標(biāo)題。對于標(biāo)識符,我們將使用“above_footer”,對于內(nèi)容,我們將輸入以下代碼:
<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>
登錄后復(fù)制
現(xiàn)在我們必須以類似的方式創(chuàng)建鏈接塊。我們將創(chuàng)建一個(gè)
新塊的塊標(biāo)題為“頁腳鏈接”,標(biāo)識符為“footer_links”,并將以下代碼放入其中:
<div class="col-md-3 col-sm-6"> <h4 class="title">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 class="title">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 class="title">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 class="title">Contact <strong>Info</strong></h4> <p><span><img src="{{media url="wysiwyg/myuploads/placeIcon.jpg"}}" alt="" /></span>Anwar ul Haq , California</p> <p><span><img src="{{media url="wysiwyg/myuploads/phoneIcon.jpg"}}" alt="" /></span>Call Us : (123) 398 5063</p> <p><span><img src="{{media url="wysiwyg/myuploads/mobileIcon.jpg"}}" alt="" /></span>Call Us : (123) 398 5063</p> <p><span><img src="{{media url="wysiwyg/myuploads/mailIcon.jpg"}}" alt="" /></span>Email : abs@tutsplus</p> </div>
登錄后復(fù)制
所有這些鏈接現(xiàn)在都沒有鏈接,但您可以稍后修改它們。
圖像鏈接再次使用所見即所得的上傳功能動(dòng)態(tài)生成
編輯。所有其余代碼只是從 HTML 復(fù)制并粘貼。
也保存這個(gè)塊,然后查看主頁,但仍然看不到這些
三個(gè)街區(qū)出現(xiàn)。這是因?yàn)槟惚仨毭鞔_告訴 Magento
在哪里顯示這些新塊,我們可以從布局部分做到這一點(diǎn)。為了
為此,轉(zhuǎn)到 layout/local.xml
文件,并在 default
標(biāo)記結(jié)束之前添加這些行。
<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>
登錄后復(fù)制
這個(gè)
XML 代碼基本上是告訴 Magento 將這兩個(gè)新塊添加到 Magento 中
頁腳部分。最后,我們需要從頁腳 phtml 調(diào)用這些塊
文件。為此,我們將在此位置創(chuàng)建一個(gè)新的 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>
登錄后復(fù)制
這個(gè) is again just HTML code taken, where all the section codes are
替換為靜態(tài)塊的相關(guān)鏈接。版權(quán)部分是
替換為版權(quán)動(dòng)態(tài)標(biāo)簽。
現(xiàn)在檢查主頁,它現(xiàn)在應(yīng)該顯示這些新創(chuàng)建的靜態(tài)
Blocks, and should look 像這樣:
我們的主頁現(xiàn)已完成。唯一剩下的就是一些風(fēng)格修正,
我們將在下一篇文章中做到這一點(diǎn)。
以上就是繼續(xù)探索:Magento主題開發(fā)之首頁設(shè)計(jì),第三部分的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!