Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

fialka

  • Захожу иногда
  • 58
  • 0 / 0
ВашВМРЕ версии: ВМРЕ 1.0.13a Стабильный  и Joomla 1.0

Нужно сместить подкатегории под товар и убрать "показать по" над товарами.

Помогите - никак не могу найти

*

fialka

  • Захожу иногда
  • 58
  • 0 / 0
Вот исходный код  shop.browse.php . Что - то отсюда нужно переместить
Код
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
/**
* This is the Main Product Listing File!
*
* @version $Id: shop.browse.php 995 2007-10-13 10:17:49Z soeren_nb $
* @package VirtueMart
* @subpackage html
* @copyright Copyright (C) 2004-2005 Soeren Eberhardt. 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.
* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
*
* http://virtuemart.net
*/
mm_showMyFileName( __FILE__ );

global $manufacturer_id,$keyword1,$keyword2,$search_category,$DescOrderBy,$search_limiter,
$search_op,$orderby,$product_type_id, $default, $vmInputFilter, $VM_BROWSE_ORDERBY_FIELDS;

echo "<h3>".$VM_LANG->_PHPSHOP_BROWSE_LBL."</h3>\n";

$db_browse = new ps_DB;
$dbp = new ps_DB;

/* load important class files */
require_once (CLASSPATH."ps_product.php");
$ps_product = new ps_product;
require_once (CLASSPATH."ps_product_category.php");
$ps_product_category = new ps_product_category;
require_once (CLASSPATH."ps_reviews.php");

$Itemid = $sess->getShopItemid();
$keyword1 = $vmInputFilter->safeSQL( urldecode(mosGetParam( $_REQUEST, 'keyword1', null )));
$keyword2 = $vmInputFilter->safeSQL( urldecode(mosGetParam( $_REQUEST, 'keyword2', null )));
// possible values: [ASC|DESC]
$DescOrderBy = $vmInputFilter->safeSQL( mosGetParam( $_REQUEST, 'DescOrderBy', "ASC" ));
$search_limiter= $vmInputFilter->safeSQL( mosGetParam( $_REQUEST, 'search_limiter', null ));
$search_op= $vmInputFilter->safeSQL( mosGetParam( $_REQUEST, 'search_op', null ));
// possible values:
// product_name, product_price, product_sku, product_cdate (=latest additions)
$orderby = $vmInputFilter->safeSQL( mosGetParam( $_REQUEST, 'orderby', VM_BROWSE_ORDERBY_FIELD ));

if (empty($category_id)) $category_id = $search_category;

$default['category_flypage'] = FLYPAGE;

if (!empty($category_id) ) {

        /**
    * PATHWAY - Navigation List
    */
echo '<div style="text-align:left;">';
$nav_list = $ps_product_category->get_navigation_list($category_id);

if( @$_REQUEST['output'] != "pdf") {
$mainframe->appendPathWay( $nav_list );
}
else {
echo "<strong>".$nav_list ."</strong><br />";
}
$child_list = $ps_product_category->get_child_list($category_id);
if (!empty( $child_list )) {
echo $child_list;
}
echo '</div>';
if (!empty( $child_list )) {
echo '<br style="clear:both;" /><br />';
}

/**
    * CATEGORY DESCRIPTION
    */
$desc =  $ps_product_category->get_description($category_id);
/* Prepend Product Short Description Meta Tag "description" when applicable */
if( @$_REQUEST['output'] != "pdf") {
$mainframe->prependMetaTag( "description", substr(strip_tags($desc ), 0, 255) );
}
if( trim(str_replace( "<br />", "" , $desc))!= "" ) {
echo '<div style="width:100%;float:left;">';
echo $desc;
echo '</div>
            <br style="clear:both;" /><br />';
        }
}
// NEW: Include the query section from an external file
require_once( PAGEPATH. "shop_browse_queries.php" );

$db_browse->query( $count );

$num_rows = $db_browse->f("num_rows");

if( $limitstart > 0 && $limit >= $num_rows) {

$list = str_replace( 'LIMIT '.$limitstart, 'LIMIT 0', $list );
}

/*** when nothing has been found
* we tell this here and say goodbye */

if ($num_rows == 0 && !empty($keyword)) {
echo $VM_LANG->_PHPSHOP_NO_SEARCH_RESULT;
}
elseif( $num_rows == 0 && empty($product_type_id) && empty( $child_list )) {
echo $VM_LANG->_EMPTY_CATEGORY;
}
/*** NOW START THE PRODUCT LIST ***/
else {

/* Set Dynamic Page Title */
if( $category_id ) {
$db->query( "SELECT category_id, category_name FROM #__{vm}_category WHERE category_id='$category_id'");
$db->next_record();
$mainframe->setPageTitle( $db->f("category_name") );
}
elseif( $manufacturer_id) {
$db->query( "SELECT manufacturer_id, mf_name FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
$db->next_record();
$mainframe->setPageTitle( $db->f("mf_name") );
}
elseif( $keyword ) {
$mainframe->setPageTitle( html_entity_decode( $VM_LANG->_PHPSHOP_SEARCH_TITLE ) );
}
else {
$mainframe->setPageTitle( html_entity_decode($VM_LANG->_PHPSHOP_BROWSE_LBL) );
}

if (!empty($product_type_id) && @$_REQUEST['output'] != "pdf") {
    ?>
    <div align="right">
    <form action="<?php $sess->purl( $mm_action_url."index.php?page=shop.parameter_search_form&product_type_id=".$product_type_id )?>" method="post" name="back">
        <?php
        echo $ps_product_type->get_parameter_form($product_type_id);
        ?>  
       <strong><?php
       echo $VM_LANG->_PHPSHOP_PARAMETER_SEARCH_IN_CATEGORY.": ".$ps_product_type->get_name($product_type_id);
        ?></strong>&nbsp;&nbsp;<br/>
 <input type="submit" class="button" id="<?php echo $VM_LANG->_PHPSHOP_PARAMETER_SEARCH_CHANGE_PARAMETERS ?>" name="edit" value="<?php echo $VM_LANG->_PHPSHOP_PARAMETER_SEARCH_CHANGE_PARAMETERS ?>" />
</form></div>
<?php
}
if ( $num_rows > 1 && @$_REQUEST['output'] != "pdf") {
// Prepare Page Navigation
if ( $num_rows > $limit  || $num_rows > 5 ) {
require_once( $mosConfig_absolute_path.'/includes/pageNavigation.php');
$pagenav = new mosPageNav( $num_rows, $limitstart, $limit);

$search_string = $mm_action_url."index.php?option=com_virtuemart&page=$modulename.browse&category_id=$category_id&keyword=".urlencode( $keyword )."&manufacturer_id=$manufacturer_id&Itemid=$Itemid";
$search_string .= !empty($orderby)? "&orderby=".urlencode($orderby) : "";

if (!empty($keyword1)) {
$search_string.="&keyword1=".urlencode($keyword1);
$search_string.="&search_category=$search_category";
$search_string.="&search_limiter=$search_limiter";
if (!empty($keyword2)) {
$search_string.="&keyword2=".urlencode($keyword2);
$search_string.="&search_op=$search_op";
}
}
if (!empty($product_type_id)){
foreach($_REQUEST as $key => $value){
if (substr($key, 0,13) == "product_type_"){
$search_string .="&".$key."=".urlencode(mosGetParam($_REQUEST, $key ));
}
}
}
}
?>
   <!-- ORDER BY .... FORM -->
   <form action="<?php echo $mm_action_url."index.php" ?>" method="get" name="order">
   <?php
   if( !empty( $VM_BROWSE_ORDERBY_FIELDS )) {
       //echo $VM_LANG->_PHPSHOP_ORDERBY ?>
              
          <?php
   }
     if ($DescOrderBy == "DESC") {
       //$icon = "sort_desc.png";
       //$alt_asc_desc = $VM_LANG->_PHPSHOP_PARAMETER_SEARCH_DESCENDING_ORDER;
       //$selected = Array( "selected=\"selected\"", "" );
  //$asc_desc = Array( "DESC", "ASC" );
}
else {
  //$icon = "sort_asc.png";
  //$alt_asc_desc = $VM_LANG->_PHPSHOP_PARAMETER_SEARCH_ASCENDING_ORDER;
       //$selected = Array( "", "selected=\"selected\"" );
       //$asc_desc = Array( "ASC", "DESC" );
   }
 echo mm_writeWithJS('<input type="hidden" name="DescOrderBy" value="'.$asc_desc[0].'" />',
          '<select class="inputbox" name="DescOrderBy">
            <option '.$selected[0].' value="DESC">'.$VM_LANG->_PHPSHOP_PARAMETER_SEARCH_DESCENDING_ORDER.'</option>
            <option '.$selected[1].' value="ASC">'.$VM_LANG->_PHPSHOP_PARAMETER_SEARCH_ASCENDING_ORDER.'</option>
        </select>
        <input class="button" type="submit" value="'.$VM_LANG->_PHPSHOP_SUBMIT.'" />');

?>
        <input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />
        <input type="hidden" name="option" value="com_virtuemart" />
        <input type="hidden" name="page" value="shop.browse" />
        <input type="hidden" name="category_id" value="<?php echo $category_id ?>" />
        <input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" />
        <input type="hidden" name="keyword" value="<?php echo urlencode( $keyword )?>" />
        <input type="hidden" name="keyword1" value="<?php echo urlencode( $keyword1 )?>" />
        <input type="hidden" name="keyword2" value="<?php echo urlencode( $keyword2 )?>" />
<?php
if( !empty( $product_type_id )) {
echo $ps_product_type->get_parameter_form($product_type_id);
}

if( PSHOP_SHOW_TOP_PAGENAV =='1' && ($num_rows > $limit || $num_rows > 5)) {
echo "&nbsp;&nbsp;&nbsp;&nbsp;".$VM_LANG->_PN_DISPLAY_NR."&nbsp;&nbsp;";
//echo "<form action=\"$search_string\" method=\"post\">";
$pagenav->writeLimitBox( $search_string );
echo "<noscript><input type=\"submit\" value=\"".$VM_LANG->_PHPSHOP_SUBMIT."\" /></noscript></form>";
}
else {
echo "</form>\n";
}
        if( PSHOP_SHOW_TOP_PAGENAV =='1' && $num_rows > $limit ) {
                // PAGE NAVIGATION AT THE TOP
                echo "<br/><div style=\"text-align:center;\">";
                echo $pagenav->writePagesLinks( $search_string );
                echo "</div><br/>";
        }
    }
$use_tables = mosGetParam($_REQUEST, 'output' ) == "pdf" ? true : false;

if( $use_tables ) {
echo '<table width="100%"><tr>';
}
else {
echo '<div id="product_list" style="width:100%; float:none;">';
}

$i = 0;
$row = 0;
$tmp_row = 0;
$db_browse->query( $list );
$db_browse->next_record();

$products_per_row = (!empty($category_id))? $db_browse->f("products_per_row") : PRODUCTS_PER_ROW;
if( $products_per_row < 1 ) {
$products_per_row = 1;
}
/**
  *   Read the template file into a String variable.
  *   Then replace the placeholders with HTML formatted product details
  *
  * function read_file( $file, $defaultfile='') ***/
if(@$_REQUEST['output'] != "pdf") {
$templatefile = (!empty($category_id))? $db_browse->f("category_browsepage") : CATEGORY_TEMPLATE;
}
else {
$templatefile = "browse_lite_pdf";
}

$template = read_file( PAGEPATH."templates/browse/$templatefile.php",
PAGEPATH."templates/browse/".CATEGORY_TEMPLATE.".php");
$db_browse->reset();

/*** Start printing out all products (in that category) ***/
while ($db_browse->next_record()) {

// If it is item get parent:
$product_parent_id = $db_browse->f("product_parent_id");
if ($product_parent_id != 0) {
$dbp->query("SELECT product_full_image,product_thumb_image,product_name,product_s_desc FROM #__{vm}_product WHERE product_id='$product_parent_id'" );
$dbp->next_record();
}

// Set the flypage for this product based on the category.
// If no flypage is set then use the default as set in VirtueMart.cfg.php
$flypage = $db_browse->sf("category_flypage");

if (empty($flypage)) {
$flypage = FLYPAGE;
}

        $url = $sess->url( $mm_action_url."index.php?page=shop.product_details&flypage=$flypage&product_id=" . $db_browse->f("product_id"). "&category_id=" . $db_browse->f("category_id"). "&manufacturer_id=" . $manufacturer_id);

        if( $db_browse->f("product_thumb_image") ) {
                $product_thumb_image = $db_browse->f("product_thumb_image");
}
else {
if( $product_parent_id != 0 ) {
$product_thumb_image = $dbp->f("product_thumb_image"); // Use product_thumb_image from Parent Product
}
else {
$product_thumb_image = 0;
}
}
if( $product_thumb_image ) {
if( substr( $product_thumb_image, 0, 4)!= "http" ) {
if(PSHOP_IMG_RESIZE_ENABLE == '1') {
$product_thumb_image = $mosConfig_live_site."/components/com_virtuemart/show_image_in_imgtag.php?filename=".urlencode($product_thumb_image)."&newxsize=".PSHOP_IMG_WIDTH."&newysize=".PSHOP_IMG_HEIGHT."&fileout=";
}
else {
if( file_exists( IMAGEPATH."product/".$product_thumb_image )) {
                        $product_thumb_image = IMAGEURL."product/".$product_thumb_image;
                    }
                    else {
                        $product_thumb_image = IMAGEURL.NO_IMAGE;
                    }
}
}
}
else {
$product_thumb_image = IMAGEURL.NO_IMAGE;
}

if( $db_browse->f("product_full_image") ) {
$product_full_image = $db_browse->f("product_full_image");
}
else {
if( $product_parent_id != 0 ) {
$product_full_image = $dbp->f("product_full_image"); // Use product_full_image from Parent Product
}
else {
$product_full_image = "..".NO_IMAGE;
}
}
if( file_exists( IMAGEPATH."product/$product_full_image" )) {
$full_image_info = getimagesize( IMAGEPATH."product/$product_full_image" );
$full_image_width = $full_image_info[0]+40;
$full_image_height = $full_image_info[1]+40;
}
else {
$full_image_width = $full_image_height = "";
}
$product_name = $db_browse->f("product_name");
if( $db_browse->f("product_publish") == "N" ) {
$product_name .= " (".vmHtmlEntityDecode($VM_LANG->_CMN_UNPUBLISHED).")";
}

if( empty($product_name) && $product_parent_id!=0 ) {
$product_name = $dbp->f("product_name"); // Use product_name from Parent Product
}
$product_s_desc = $db_browse->f("product_s_desc");
if( empty($product_s_desc) && $product_parent_id!=0 ) {
$product_s_desc = $dbp->f("product_s_desc"); // Use product_s_desc from Parent Product
}
$product_details = $VM_LANG->_PHPSHOP_FLYPAGE_LBL;

if (PSHOP_ALLOW_REVIEWS == '1' && @$_REQUEST['output'] != "pdf") {
/**
        *   Average customer rating: xxxxx
        *   Total votes: x
        */
$product_rating = $VM_LANG->_PHPSHOP_CUSTOMER_RATING .": <br />";
$product_rating .= ps_reviews::allvotes( $db_browse->f("product_id") );
}
else
$product_rating = "";


/** Price: xx.xx EUR ***/
if (_SHOW_PRICES == '1' && $auth['show_prices']) {
$product_price = $ps_product->show_price( $db_browse->f("product_id") );
}
else {
$product_price = "";
}

/*** Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$form_addtocart = "<form action=\"". $mm_action_url ."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart".$i."\">\n
                <label for=\"quantity_".$i."\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>\n
                <input id=\"quantity_".$i."\" class=\"inputbox\" type=\"text\" size=\"3\" name=\"quantity\" value=\"1\" />
                <input type=\"submit\" style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;overflow:hidden;\" value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
                <input type=\"hidden\" name=\"category_id\" value=\"". @intval($_REQUEST['category_id'])."\" />\n
                <input type=\"hidden\" name=\"product_id\" value=\"". $db_browse->f("product_id")."\" />\n
                <input type=\"hidden\" name=\"page\" value=\"shop.cart\" />\n
                <input type=\"hidden\" name=\"func\" value=\"cartadd\" />\n
                <input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />\n
                <input type=\"hidden\" name=\"option\" value=\"com_virtuemart\" />\n
              </form>\n";
}
else
$form_addtocart = "";

/*** Now fill the template
* Customizing:
*   a. Define your own placeholders(e.g. {product_weight} )
*   b. Add a line below like this (must be below first str_replace call!):
$product_cell = str_replace( "{product_weight}", $db_browse->f("product_weight"), $product_cell );
*   c. put the placeholder {product_weight} somewhere in the template (/html/templates)
<tr><td>Product Weight: {product_weight}</td></tr>
*   d. save the template file under a new name (e.g. browse_weight.php )
*   e. Assign the browse page "browse_weight" to the categories,
*       you want to have using that template file (do that in the category form!)
**/
$product_cell = str_replace( "{product_flypage}", $url, $template );
$product_cell = str_replace( "{product_thumb_image}", $product_thumb_image, $product_cell );
$product_cell = str_replace( "{product_full_image}", $product_full_image, $product_cell );
$product_cell = str_replace( "{full_image_width}", $full_image_width, $product_cell );
$product_cell = str_replace( "{full_image_height}", $full_image_height, $product_cell );

if( substr( $product_full_image, 0, 4) == "http" )
$product_cell = str_replace( "{image_url}product/", "", $product_cell );

else
$product_cell = str_replace( "{image_url}", IMAGEURL, $product_cell );

if( PSHOP_IMG_RESIZE_ENABLE=='1' ) {
$product_cell = str_replace( "{image_width}", "", $product_cell );
$product_cell = str_replace( "{image_height}", "", $product_cell );
}
else {
if( file_exists( str_replace( IMAGEURL, IMAGEPATH, $product_thumb_image))) {
$arr = @getimagesize( str_replace( IMAGEURL, IMAGEPATH, $product_thumb_image) );
$height_greater = $arr[0] < $arr[1];
}
if( @$height_greater === false ) {
$product_cell = str_replace( "{image_width}", "width=\"".PSHOP_IMG_WIDTH."\"", $product_cell );
$product_cell = str_replace( "{image_height}", "", $product_cell );
}
else {
$product_cell = str_replace( "{image_width}", "", $product_cell );
$product_cell = str_replace( "{image_height}", "height=\"".PSHOP_IMG_HEIGHT."\"", $product_cell );
}
}
$product_cell = str_replace( "{product_name}", shopMakeHtmlSafe( $product_name ), $product_cell );
$product_cell = str_replace( "{product_s_desc}", $product_s_desc, $product_cell );
$product_cell = str_replace( "{product_details...}", $product_details, $product_cell );
$product_cell = str_replace( "{product_rating}", $product_rating, $product_cell );
$product_cell = str_replace( "{product_price}", $product_price, $product_cell );
$product_cell = str_replace( "{form_addtocart}", $form_addtocart, $product_cell );
$product_cell = str_replace( "{product_sku}", $db_browse->f("product_sku"), $product_cell );

/*** Now echo the filled cell ***/
if( $tmp_row != $row || $row == 0 ) {
if ( $db_browse->num_rows() - ($i) < $products_per_row ) {
$cell_count = $db_browse->num_rows() - ($i);
}
else {
$cell_count = $products_per_row;
}
$row++;
$tmp_row = $row;
}
$colspan = $products_per_row - $cell_count + 1;
if( $cell_count < 1 ) {
$cell_count = 1;
}
if( $use_tables ) {
echo "<td colspan=\"$colspan\" width=\"". intval(round(100/$cell_count)-4)."%\">";
}
else {
echo "<div style=\"margin-right: 0px; width:25%; float:left;\" id=\"".uniqid( "row_" )."\">";
}

echo $product_cell;

$i++;
/*** START NEXT ROW ? ***/
if ( ($i) % $products_per_row == 0) {
$row++;
/** if yes, close the current row and print out a horizontal bar ***/
if( $use_tables ) {
echo "\n</td></tr><tr>";
}
else {
echo "\n</div><br style=\"clear:both;\" />";
}
}
else {
if( $use_tables ) {
echo "\n</td>";
}
else {
echo "\n</div>";
}
}
} /*** END OF while loop ***/

echo '<br style="clear:both;" />';
if( $use_tables ) {
echo '</tr></table>';
}
else {
echo '</div>';
}
?>
<!-- BEGIN PAGE NAVIGATION -->
<div align="center">
<?php

if ( $num_rows > $limit && @$_REQUEST['output'] != "pdf") {
if( !isset($pagenav) ) {
                require_once( $mosConfig_absolute_path.'/includes/pageNavigation.php');
                $pagenav = new mosPageNav( $num_rows, $limitstart, $limit);
        }
        echo $pagenav->writePagesLinks( $search_string );
}
if( $num_rows > 5 && @$_REQUEST['output'] != "pdf") {
        echo "<br/><br/><form action=\"$search_string\" method=\"post\">".$VM_LANG->_PN_DISPLAY_NR."&nbsp;&nbsp;";
$pagenav->writeLimitBox( $search_string );
echo "<noscript><input class=\"button\" type=\"submit\" value=\"".$VM_LANG->_PHPSHOP_SUBMIT."\" /></noscript></form>";
echo $pagenav->writePagesCounter();
}
?>
</div>
<!-- END PAGE NAVIGATION -->
<?php
}
return $mainframe;
?>
« Последнее редактирование: 13.03.2011, 16:59:22 от beagler »
*

Вованище

  • Захожу иногда
  • 134
  • 20 / 0
  • <target = blank>
Код надо убирать в соответствующий тэг.
*

fialka

  • Захожу иногда
  • 58
  • 0 / 0
Код надо убирать в соответствующий тэг.

Это то понятно, но где этот кусок кода - от и до, который нужно  переместить?
*

Вованище

  • Захожу иногда
  • 134
  • 20 / 0
  • <target = blank>
Я говорил о коде в твоем сообщении. Никому не хочется прокручивать весь твой файл, тем более редактировать нужно не его. Отредактируй пожалуйста.
« Последнее редактирование: 13.03.2011, 16:51:24 от Вованище »
*

fialka

  • Захожу иногда
  • 58
  • 0 / 0
Новая загадка для VirtueMart 1.9  и Joomla 1.5

нужно сместить расширенный поиск под описание категории

То есть судя по всему в каком-то месте shop.browse.php

 но в каком?

Для расширенного поиска код вставляю такой в разных местах

Код
//search form

if ( $category_id == "21" ){
$product_type_id = 1;
include(PAGEPATH. 'shop.parameter_search_form.php');
}
else {
}

а он все равно вылазит сверху описания категории


*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
зайди в настройки марта
на первой странице ниже
Дополнительные настройки
Режим отладки? - поставь галочку
посмотри на странице появятся тултипы прочитай в них на какой странице в shop.browse.php или какая другая находится вывод того или иного, что тебя интересует
*

fialka

  • Захожу иногда
  • 58
  • 0 / 0
К сожалению categoryChildlist.tpl не принимает этот код, на странице форма поиска не выводится

Код
//search form

if ( $category_id == "21" ){
$product_type_id = 1;
include(PAGEPATH. 'shop.parameter_search_form.php');
}
else {
}

думаем дальше...

*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
он и ни примет её в таком виде
его надо так сказать научить  ^-^
для категорий
можно пойти другим путем
сделать модуль, есть на форуме тема там morph описывает чуток как его сделать,  и вставить его в нужное место categoryChildlist.tpl.php
*

fialka

  • Захожу иногда
  • 58
  • 0 / 0
Была в этой темке

http://joomlaforum.ru/index.php/topic,69642.0.html

Копировала, вставляла, получала модули и вместе с ними ошибки

Fatal error: Call to a member function query() on a non-object in /php-files/тра-та-та.php on line 24

Вообще хожу вокруг да около, в толку нет
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где изменить навигацию по страницам?

Автор igoryk

Ответов: 10
Просмотров: 2933
Последний ответ 04.05.2025, 08:46:43
от wishlight
Нужно вывести случайные товары на главную Joomla

Автор manowar

Ответов: 3
Просмотров: 6336
Последний ответ 13.12.2016, 12:41:12
от vitaliypoli
Описание категории опустить под товары

Автор angelo4ek-001

Ответов: 5
Просмотров: 2361
Последний ответ 12.11.2015, 01:53:39
от fsv
Подкатегории с товарами

Автор milan

Ответов: 0
Просмотров: 1359
Последний ответ 13.01.2015, 14:51:58
от milan
VirtueMart -как убрать слово "КАТЕГОРИИ" на первой странице магазина

Автор stalker828

Ответов: 12
Просмотров: 9623
Последний ответ 30.07.2014, 11:51:16
от ZAIRA