0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 2818 Просмотров
*

artem1987

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Табы в шаблоне
« : 18.11.2013, 16:17:14 »
« Последнее редактирование: 18.11.2013, 16:24:36 от artem1987 »
*

artem1987

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Табы в шаблоне
« Ответ #1 : 20.11.2013, 12:24:16 »
3 вопроса задал не по одному нет ответа, зачем форум хз, или я вопросы сверхъестественные задаю.Закрывайте буду обращаться к фрилансерам.
*

rogerru

  • Захожу иногда
  • 64
  • 6 / 0
Re: Табы в шаблоне
« Ответ #2 : 20.11.2013, 13:05:45 »
3 вопроса задал не по одному нет ответа, зачем форум хз, или я вопросы сверхъестественные задаю.Закрывайте буду обращаться к фрилансерам.

На конкретно этот вопрос не отвечают по одной простой причине, он никакого отношения к VirtueMart не имеет. Это чисто php\JS программинг + HTML, причем на довольно примитивном уровне.
Это не мысль, идея, проблема и т.д. это просто незнание предмета, в частности php\html. Не писать же статью о реализации табов средствами php\js\html с самого начала.
Извините, что возможно резковато.

PS
Вот Ваше решение. Я не проверял, но должно работать. Если нет, то обращайтесь.
Код
<?php

/**

 *

 * Show the product details page

 *

 * @package VirtueMart

 * @subpackage

 * @author Max Milbers, Eugen Stranz

 * @author RolandD,

 * @todo handle child products

 * @link http://www.virtuemart.net

 * @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.

 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php

 * VirtueMart is free software. This version may have been modified pursuant

 * to the GNU General Public License, and as distributed it includes or

 * is derivative of works licensed under the GNU General Public License or

 * other free or open source software licenses.

 * @version $Id: default.php 6530 2012-10-12 09:40:36Z alatak $

 */

 

 // Modified by Omegatheme.com to use with responsive template - VM Version 2.0.18a stable

 

// Check to ensure this file is included in Joomla!

defined('_JEXEC') or die('Restricted access');



// addon for Joomla modal Box

JHTML::_('behavior.modal');

// JHTML::_('behavior.tooltip');

if(VmConfig::get('usefancy',0)){

vmJsApi::js( 'fancybox/jquery.fancybox-1.3.4.pack');

vmJsApi::css('jquery.fancybox-1.3.4');

$box = "$.fancybox({

href: '" . $this->askquestion_url . "',

type: 'iframe',

height: '550'

});";

} else {

vmJsApi::js( 'facebox' );

vmJsApi::css( 'facebox' );

$box = "$.facebox({

iframe: '" . $this->askquestion_url . "',

rev: 'iframe|550|550'

});";

}

$document = JFactory::getDocument();

$document->addScriptDeclaration("

//<![CDATA[

jQuery(document).ready(function($) {

$('a.ask-a-question').click( function(){

".$box."

return false ;

});

/* $('.additional-images a').mouseover(function() {

var himg = this.href ;

var extension=himg.substring(himg.lastIndexOf('.')+1);

if (extension =='png' || extension =='jpg' || extension =='gif') {

$('.main-image img').attr('src',himg );

}

console.log(extension)

});*/

});

//]]>

");

/* Let's see if we found the product */

if (empty($this->product)) {

    echo JText::_('COM_VIRTUEMART_PRODUCT_NOT_FOUND');

    echo '<br /><br />  ' . $this->continue_link_html;

    return;

}

?>



<div class="productdetails-view productdetails">



    <?php

    // Product Navigation

    if (VmConfig::get('product_navigation', 1)) {

?>

        <div class="product-neighbours">

    <?php

    if (!empty($this->product->neighbours ['previous'][0])) {

$prev_link = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->neighbours ['previous'][0] ['virtuemart_product_id'] . '&virtuemart_category_id=' . $this->product->virtuemart_category_id);

echo JHTML::_('link', $prev_link, $this->product->neighbours ['previous'][0]

['product_name'], array('class' => 'previous-page'));

    }

    if (!empty($this->product->neighbours ['next'][0])) {

$next_link = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->neighbours ['next'][0] ['virtuemart_product_id'] . '&virtuemart_category_id=' . $this->product->virtuemart_category_id);

echo JHTML::_('link', $next_link, $this->product->neighbours ['next'][0] ['product_name'], array('class' => 'next-page'));

    }

    ?>

    <div class="clear"></div>

        </div>

    <?php } // Product Navigation END

    ?>



<?php // Back To Category Button

if ($this->product->virtuemart_category_id) {

$catURL =  JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$this->product->virtuemart_category_id);

$categoryName = $this->product->category_name ;

} else {

$catURL =  JRoute::_('index.php?option=com_virtuemart');

$categoryName = jText::_('COM_VIRTUEMART_SHOP_HOME') ;

}

?>

<!--<div class="back-to-category">

    <a href="<?php echo $catURL ?>" class="product-details" title="<?php echo $categoryName ?>"><?php echo JText::sprintf('COM_VIRTUEMART_CATEGORY_BACK_TO',$categoryName)?></a>

</div>-->



    <?php // Product Title   ?>

    <!--<h1><?php echo $this->product->product_name ?></h1>-->

    <?php // Product Title END   ?>



    <?php // afterDisplayTitle Event

    echo $this->product->event->afterDisplayTitle ?>



    <?php

    // Product Edit Link

    echo $this->edit_link;

    // Product Edit Link END

    ?>



    <?php

    // Product Short Description

    // if (!empty($this->product->product_s_desc)) {

?>

        <!--<div class="product-short-description">-->

    <?php

    /** @todo Test if content plugins modify the product description */

    // echo nl2br($this->product->product_s_desc);

    ?>

        <!--</div>-->

<?php

    // } // Product Short Description END



    if (!empty($this->product->customfieldsSorted['ontop'])) {

$this->position = 'ontop';

echo $this->loadTemplate('customfields');

    } // Product Custom ontop end

    ?>



    <div class="ot-content">

<div class="product-preview">

<div class="span5">

<?php

echo $this->loadTemplate('images');

?>

</div>

<div class="span7">



<?php

// PDF - Print - Email Icon

if (VmConfig::get('show_emailfriend') || VmConfig::get('show_printicon') || VmConfig::get('pdf_button_enable')) {

?>

<div class="icons">

<?php

//$link = (JVM_VERSION===1)? 'index2.php' : 'index.php';

$link = 'index.php?tmpl=component&option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->virtuemart_product_id;

$MailLink = 'index.php?option=com_virtuemart&view=productdetails&task=recommend&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component';



if (VmConfig::get('pdf_icon', 1) == '1') {

echo $this->linkIcon($link . '&format=pdf', 'COM_VIRTUEMART_PDF', 'pdf_button', 'pdf_button_enable', false);

}

echo $this->linkIcon($link . '&print=1', 'COM_VIRTUEMART_PRINT', 'printButton', 'show_printicon');

echo $this->linkIcon($MailLink, 'COM_VIRTUEMART_EMAIL', 'emailButton', 'show_emailfriend');

?>

<div class="clear"></div>

</div>

<?php } // PDF - Print - Email Icon END

?>

<div class="product-name">

<h1><?php echo $this->product->product_name ?></h1>

</div>

<?php

// Manufacturer of the Product

if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {

echo $this->loadTemplate('manufacturer');

}

?>



<?php // Product Price

// the test is done in show_prices

//if ($this->show_prices and (empty($this->product->images[0]) or $this->product->images[0]->file_is_downloadable == 0)) {

echo $this->loadTemplate('showprices');

//}

?>

<div class="clear"></div>



<?php

if ($this->showRating) {

$maxrating = VmConfig::get('vm_maximum_rating_scale', 5);



if (empty($this->rating)) {

?>

<span class="vote"><?php echo JText::_('COM_VIRTUEMART_RATING'). ' ' . JText::_('COM_VIRTUEMART_UNRATED')?></span>

<?php

} else {

// $ratingwidth = $this->rating->rating * 24; //I don't use round as percetntage with works perfect, as for me

// $ratingwidth = ($this->rating->rating * 100) / $maxrating;

$ratingwidth = $this->rating->rating * 14; //I don't use round as percetntage with works perfect, as for me

?>

<span class="vote">

<?php echo JText::_('COM_VIRTUEMART_RATING'). ' ' . round($this->rating->rating). '/' . $maxrating; ?><br/>

<span title=" <?php echo (JText::_("COM_VIRTUEMART_RATING_TITLE"). round($this->rating->rating). '/' . $maxrating)?>" class="ratingbox" style="display:inline-block;">

<!-- <span class="stars-orange" style="width:<?php echo $ratingwidth; ?>%"> -->

<span class="stars-orange" style="width:<?php echo $ratingwidth; ?>px">

</span>

</span>

</span>

<?php

}

}?>

<div class="clear"></div>

<?php

// Product Short Description

if (!empty($this->product->product_s_desc)) {

?>

<div class="product-short-description">

<?php

/** @todo Test if content plugins modify the product description */

echo nl2br($this->product->product_s_desc);

?>

</div>

<div class="clear"></div>

<?php

} // Product Short Description END ?>

<div class="spacer-buy-area">

<?php

// TODO in Multi-Vendor not needed at the moment and just would lead to confusion

/* $link = JRoute::_('index2.php?option=com_virtuemart&view=virtuemart&task=vendorinfo&virtuemart_vendor_id='.$this->product->virtuemart_vendor_id);

  $text = JText::_('COM_VIRTUEMART_VENDOR_FORM_INFO_LBL');

  echo '<span class="bold">'. JText::_('COM_VIRTUEMART_PRODUCT_DETAILS_VENDOR_LBL'). '</span>'; ?><a class="modal" href="<?php echo $link ?>"><?php echo $text ?></a><br />

*/

?>

<?php

if (is_array($this->productDisplayShipments)) {

foreach ($this->productDisplayShipments as $productDisplayShipment) {

echo $productDisplayShipment . '<br />';

}

}

if (is_array($this->productDisplayPayments)) {

foreach ($this->productDisplayPayments as $productDisplayPayment) {

echo $productDisplayPayment . '<br />';

}

} ?>



<?php

// Availability Image

$stockhandle = VmConfig::get('stockhandle', 'none');

if (($this->product->product_in_stock - $this->product->product_ordered) < 1) {

if ($stockhandle == 'risetime' and VmConfig::get('rised_availability') and empty($this->product->product_availability)) {

?> <div class="availability">

<?php echo (file_exists(JPATH_BASE . DS . VmConfig::get('assets_general_path'). 'images/availability/' . VmConfig::get('rised_availability')))? JHTML::image(JURI::root(). VmConfig::get('assets_general_path'). 'images/availability/' . VmConfig::get('rised_availability', '7d.gif'), VmConfig::get('rised_availability', '7d.gif'), array('class' => 'availability')) : VmConfig::get('rised_availability'); ?>

</div>

<?php

} else if (!empty($this->product->product_availability)) {

?>

<div class="availability">

<?php echo (file_exists(JPATH_BASE . DS . VmConfig::get('assets_general_path'). 'images/availability/' . $this->product->product_availability))? JHTML::image(JURI::root(). VmConfig::get('assets_general_path'). 'images/availability/' . $this->product->product_availability, $this->product->product_availability, array('class' => 'availability')) : $this->product->product_availability; ?>

</div>

<?php

}

}

?>



<?php

// Add To Cart Button

// if (!empty($this->product->prices) and !empty($this->product->images[0]) and $this->product->images[0]->file_is_downloadable==0 ) {

// if (!VmConfig::get('use_as_catalog', 0) and !empty($this->product->prices['salesPrice'])) {

echo $this->loadTemplate('addtocart');

// }  // Add To Cart Button END

?>



<?php

// Ask a question about this product

if (VmConfig::get('ask_question', 1) == 1) {

?>

<div class="ask-a-question">

<a class="ask-a-question" href="<?php echo $this->askquestion_url ?>" ><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL')?></a>

<!--<a class="ask-a-question modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $this->askquestion_url ?>"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL')?></a>-->

</div>

<?php }

?>

<div class="clear"></div>

</div>



<div class="social-button">

<!-- Facebook Button -->

<div class="productFacebookButton">

<div id="fb-root"></div>

<script type="text/javascript">

(function(d, s, id) {

  var js, fjs = d.getElementsByTagName(s)[0];

  if (d.getElementById(id)) {return;}

  js = d.createElement(s); js.id = id;

  js.src = "//connect.facebook.net/en_US/all.js#appId=177111755694317&xfbml=1";

  fjs.parentNode.insertBefore(js, fjs);

}(document, 'script', 'facebook-jssdk'));

</script>

<div class="fb-like" data-send="false" data-width="260" data-show-faces="true" layout="button_count"></div>

</div>

<!-- Twitter Button -->

<div class="productTwitterButton">

<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal"><?php echo JText::_('TPL_OT_TWEET'); ?></a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>

</div>

<!-- Google +1 Button -->

<div class="productGooglePlusOneButton">

<g:plusone annotation="bubble" width="120" size="medium"></g:plusone>

<script type="text/javascript">

  (function() {

window.___gcfg = {lang: 'en'}; // Define button default language here

var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;

po.src = 'https://apis.google.com/js/plusone.js';

var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);

  })();

</script>

</div>

</div>

<div class="clear"></div>

</div>

<div class="clear"></div>

</div>



<?php // event onContentBeforeDisplay

echo $this->product->event->beforeDisplayContent; ?>

<div class="product-details">

<div>

<ul id="productTabs" class="nav nav-tabs">

<?php if (!empty($this->product->product_desc)) { ?>

<li>

<a href="#productDescription" data-toggle="tab"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DESC_TITLE')?></a>

</li>

<?php } ?>

<li>

<a href="#productReview" data-toggle="tab"><?php echo JText::_('COM_VIRTUEMART_REVIEWS')?></a>

</li>
<li>

<a href="#CustFld" data-toggle="tab"><?php echo "Характеристики"?></a>

</li>
</ul>

</div>

<div class="tab-content">

<?php

// Product Description

if (!empty($this->product->product_desc)) {

?>

<div id="productDescription" class="product-description tab-pane">

<?php /** @todo Test if content plugins modify the product description */ ?>

<!--<span class="title"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DESC_TITLE')?></span>-->

<?php echo $this->product->product_desc; ?>

</div>

<?php

} // Product Description END ?>



<?php

echo $this->loadTemplate('reviews');

?>
<div id="CustFld" class="product-description tab-pane">
<?php
if (!empty($this->product->customfieldsSorted['normal'])) {

$this->position = 'normal';

echo $this->loadTemplate('customfields');

} // Product custom_fields END
?>
</div>
</div>

<div class="clear"></div>

</div>

</div>



    <?php

    // Product Packaging

    $product_packaging = '';

    if ($this->product->product_box) {

?>

        <div class="product-box">

    <?php

        echo JText::_('COM_VIRTUEMART_PRODUCT_UNITS_IN_BOX').$this->product->product_box;

    ?>

        </div>

    <?php } // Product Packaging END

    ?>



    <?php

    // Product Files

    // foreach ($this->product->images as $fkey => $file) {

    // Todo add downloadable files again

    // if( $file->filesize > 0.5) $filesize_display = ' ('. number_format($file->filesize, 2,',','.')." MB)";

    // else $filesize_display = ' ('. number_format($file->filesize*1024, 2,',','.')." KB)";



    /* Show pdf in a new Window, other file types will be offered as download */

    // $target = stristr($file->file_mimetype, "pdf")? "_blank" : "_self";

    // $link = JRoute::_('index.php?view=productdetails&task=getfile&virtuemart_media_id='.$file->virtuemart_media_id.'&virtuemart_product_id='.$this->product->virtuemart_product_id);

    // echo JHTMl::_('link', $link, $file->file_title.$filesize_display, array('target' => $target));

    // }

    if (!empty($this->product->customfieldsRelatedProducts)) {

echo $this->loadTemplate('relatedproducts');

    } // Product customfieldsRelatedProducts END



    if (!empty($this->product->customfieldsRelatedCategories)) {

echo $this->loadTemplate('relatedcategories');

    } // Product customfieldsRelatedCategories END

    // Show child categories

    if (VmConfig::get('showCategory', 1)) {

echo $this->loadTemplate('showcategory');

    }

    if (!empty($this->product->customfieldsSorted['onbot'])) {

    $this->position='onbot';

    echo $this->loadTemplate('customfields');

    } // Product Custom ontop end

    ?>



<?php // onContentAfterDisplay event

echo $this->product->event->afterDisplayContent; ?>



<script type="text/javascript">

<!--

jQuery.noConflict();

jQuery(document).ready(function($) {

$('#productTabs a:first').tab('show');

});

-->

</script>



</div>
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Табы в шаблоне
« Ответ #3 : 04.12.2013, 02:49:50 »
3 вопроса задал не по одному нет ответа
лишим значит этой возможности (задавать вопросы), раз вам не нравится :)
FAQ - Часто задаваемые вопросы и ответы по VirtueMart 2
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Табы вкладки описание и озывы

Автор vetkrs

Ответов: 0
Просмотров: 679
Последний ответ 11.03.2019, 20:45:44
от vetkrs
Табы товаров

Автор dimasan57

Ответов: 1
Просмотров: 722
Последний ответ 02.02.2017, 13:41:14
от vipiusss
Отображение товаров списком и таблицей (в шаблоне Reviver)

Автор Gandriyko

Ответов: 2
Просмотров: 915
Последний ответ 14.12.2015, 12:20:39
от Gandriyko
Как сделать ТАБы на фильтр товаров?

Автор stylus83

Ответов: 2
Просмотров: 923
Последний ответ 13.11.2015, 12:08:44
от stylus83
Как перевести элементы в шаблоне?

Автор raynir

Ответов: 4
Просмотров: 876
Последний ответ 19.06.2015, 16:36:44
от raynir