Новости Joomla

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

Вы уверенно чувствуете себя перед камерой, динамичны, обаятельны и всегда улыбаетесь? Чувствуете себя искателем приключений, готовым поделиться своими исследованиями CMS Joomla!, взять интервью у видных деятелей сообщества, пообщаться лично или по видеосвязи с волонтерами Joomla или отправиться на поиски новых идей?

Joomla ищет одного или нескольких волонтеров, готовых вдохнуть новую жизнь в обсуждение Joomla, ее CMS, пользователей, сообщества и многого другого.

Возможны самые разные форматы и темы: шортсы, интервью, аналитика и разборы в режиме реального времени, быстрые советы и рекомендации, знакомство с миром Joomla, изучение открытого исходного кода... Нет никаких ограничений!

Joomla! уже активно представлена ​​во многих социальных сетях:
- 155K подписчиков на Facebook,
- 55K подписчиков на X (ранее Twitter),
- 16K подписчиков на YouTube,
- 14K подписчиков на LinkedIn,
- 5,7K подписчиков в Instagram
а так же другие площадки ждут вас. Аккаунты Threads и Bluesky относительно новые, но их популярность только растёт!

А если хватит энергии, можно рассмотреть и TikTok!

❓ Итак, вы готовы?
👉 Свяжитесь с отделом маркетинга по адресу: marketing@community.joomla.org

Подробности в статье в Joomla Community Magazine.

@joomlafeed

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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #90 : 26.10.2015, 17:38:14 »
Исправление
Цитировать
1. в контроллере product $product->getReviews делался после onBeforeDisplayProduct, а сейчас делается до. Соответственно, те обработки относительно отзывов, которые делались в onBeforeDisplayProduct, уже не будут работать.
Попробуйте новою версию файлов
model/productreviewlist.php
Код
<?php
/**
* @version      4.11.1 13.08.2013
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die();

class jshopProductReviewList extends jshopBase{

protected $model = null;
protected $list = null;
protected $total = null;
protected $limit = null;
protected $limitstart = null;
protected $pagination = null;
protected $count_per_page = 20;

public function __construct(){
$model = JSFactory::getTable('product', 'jshop');
$this->setModel($model);
}

public function setModel($model){
$this->model = $model;
extract(js_add_trigger(get_defined_vars(), "after"));
}

public function getModel(){
return $this->model;
}

public function setProductId($pid){
$this->getModel()->load($pid);
}

public function getProductId(){
return $this->getModel()->product_id;
}

public function getContext(){
$context = "jshoping.list.front.product.review";
return $context;
}

public function getTotal(){
return $this->total;
}

public function getList(){
return $this->list;
}

public function getPagination(){
        return $this->pagination;
    }

public function getLimit(){
        return $this->limit;
    }

public function getLimitStart(){
        return $this->limitstart;
    }

public function setCountPerPage($val){
$this->count_per_page = $val;
}

public function getCountPerPage(){
return $this->count_per_page;
}

protected function loadRequestData(){
$mainframe = JFactory::getApplication();
$context = $this->getContext();
$this->limitstart = JRequest::getInt('limitstart');
        $this->limit = $mainframe->getUserStateFromRequest($context.'limit', 'limit', $this->getCountPerPage(), 'int');
}

public function load(){
$this->loadRequestData();
$model = $this->getModel();
$this->total =  $model->getReviewsCount();
$this->pagination = new JPagination($this->total, $this->limitstart, $this->limit);
$this->list = $model->getReviews($this->limitstart, $this->limit);
return 1;
}

}

и controller/product.php

Код
<?php
/**
* @version      4.11.1 18.12.2014
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die();
jimport('joomla.html.pagination');

class JshoppingControllerProduct extends JshoppingControllerBase{
    
    function __construct($config = array()){
        parent::__construct($config);
        JPluginHelper::importPlugin('jshoppingproducts');
        JDispatcher::getInstance()->trigger('onConstructJshoppingControllerProduct', array(&$this));
    }

    function display($cachable = false, $urlparams = false){
        $mainframe = JFactory::getApplication();
        $jshopConfig = JSFactory::getConfig();
        $user = JFactory::getUser();
$dispatcher = JDispatcher::getInstance();
$model = JSFactory::getModel('productShop', 'jshop');

$ajax = JRequest::getInt('ajax');
        $tmpl = JRequest::getVar("tmpl");
$product_id = JRequest::getInt('product_id');
        $category_id = JRequest::getInt('category_id');
        $attr = JRequest::getVar("attr");

JSFactory::loadJsFilesLightBox();

        if ($tmpl!="component"){
$model->storeEndPageBuy();
        }

        $back_value = $model->getBackValue($product_id, $attr);

        $dispatcher->trigger('onBeforeLoadProduct', array(&$product_id, &$category_id, &$back_value));
        $dispatcher->trigger('onBeforeLoadProductList', array());

        $product = JSFactory::getTable('product', 'jshop');
        $product->load($product_id);

$category = JSFactory::getTable('category', 'jshop');
        $category->load($category_id);
        $category->name = $category->getName();

$model->setProduct($product);

        $listcategory = $model->getCategories(1);

$model->prepareView($back_value);
$model->clearBackValue();

$attributes = $model->getAttributes();
        $all_attr_values = $model->getAllAttrValues();

if (!$product->checkView($category, $user, $category_id, $listcategory)){
            JError::raiseError(404, _JSHOP_PAGE_NOT_FOUND);
            return;
        }
        
        JshopHelpersMetadata::product($category, $product);
        
        $product->hit();
        
$allow_review = $model->getAllowReview();
$text_review = $model->getTextReview();
$select_review = $model->getSelectReview();

        $hide_buy = $model->getHideBuy();        
        $available = $model->getTextAvailable();
$default_count_product = $model->getDefaultCountProduct($back_value);
        $displaybuttons = $model->getDisplayButtonsStyle();
        $product_images = $product->getImages();
        $product_videos = $product->getVideos();
        $product_demofiles = $product->getDemoFiles();

$dispatcher->trigger('onBeforeDisplayProductList', array(&$product->product_related));
        
        $view = $this->getView("product");
        $view->setLayout("product_".$product->product_template);
        $dispatcher->trigger('onBeforeDisplayProduct', array(&$product, &$view, &$product_images, &$product_videos, &$product_demofiles) );
        $view->assign('config', $jshopConfig);
        $view->assign('image_path', $jshopConfig->live_path.'/images');
        $view->assign('noimage', $jshopConfig->noimage);
        $view->assign('image_product_path', $jshopConfig->image_product_live_path);
        $view->assign('video_product_path', $jshopConfig->video_product_live_path);
        $view->assign('video_image_preview_path', $jshopConfig->video_product_live_path);
        $view->assign('product', $product);
        $view->assign('category_id', $category_id);
        $view->assign('images', $product_images);
        $view->assign('videos', $product_videos);
        $view->assign('demofiles', $product_demofiles);
        $view->assign('attributes', $attributes);
        $view->assign('all_attr_values', $all_attr_values);
        $view->assign('related_prod', $product->product_related);
        $view->assign('path_to_image', $jshopConfig->live_path . 'images/');
        $view->assign('live_path', JURI::root());
        $view->assign('enable_wishlist', $jshopConfig->enable_wishlist);
        $view->assign('action', SEFLink('index.php?option=com_jshopping&controller=cart&task=add',1));
        $view->assign('urlupdateprice', SEFLink('index.php?option=com_jshopping&controller=product&task=ajax_attrib_select_and_price&product_id='.$product_id.'&ajax=1',1,1));
        if ($allow_review){
JSFactory::loadJsFilesRating();
$modelreviewlist = JSFactory::getModel('productReviewList', 'jshop');
$modelreviewlist->setModel($product);
$modelreviewlist->load();
$review_list = $modelreviewlist->getList();
$pagination = $modelreviewlist->getPagination();
$pagenav = $pagination->getPagesLinks();
            $view->assign('reviews', $review_list);
            $view->assign('pagination', $pagenav);
$view->assign('pagination_obj', $pagination);
            $view->assign('display_pagination', $pagenav!="");
        }
        $view->assign('allow_review', $allow_review);
        $view->assign('select_review', $select_review);
        $view->assign('text_review', $text_review);
        $view->assign('stars_count', floor($jshopConfig->max_mark / $jshopConfig->rating_starparts));
        $view->assign('parts_count', $jshopConfig->rating_starparts);
        $view->assign('user', $user);
        $view->assign('shippinginfo', SEFLink($jshopConfig->shippinginfourl,1));
        $view->assign('hide_buy', $hide_buy);
        $view->assign('available', $available);
        $view->assign('default_count_product', $default_count_product);
        $view->assign('folder_list_products', "list_products");
        $view->assign('back_value', $back_value);
$view->assign('displaybuttons', $displaybuttons);
        $dispatcher->trigger('onBeforeDisplayProductView', array(&$view));
        $view->display();
        $dispatcher->trigger('onAfterDisplayProduct', array(&$product));
        if ($ajax) die();
    }
    
    function getfile(){
        $id = JRequest::getInt('id');
        $oid = JRequest::getInt('oid');
        $hash = JRequest::getVar('hash');
        $rl = JRequest::getInt('rl');

$model = JSFactory::getModel('productDownload', 'jshop');
$model->setId($id);
$model->setOid($oid);
$model->setHash($hash);

if ($rl==1){
            //fix for IE
            print "<script type='text/javascript'>location.href='".$model->getUrlDownload()."';</script>";
            die();
        }

if (!$model->checkHash()){
JError::raiseError(500, "Error download file");
            return 0;
}
if (!$model->checkOrderStatusPaid()){
            JError::raiseWarning(500, _JSHOP_FOR_DOWNLOAD_ORDER_MUST_BE_PAID);
            return 0;
        }
if (!$model->checkUser()){
            checkUserLogin();
        }
if (!$model->checkTimeDownload()){
            JError::raiseWarning(500, _JSHOP_TIME_DOWNLOADS_FILE_RESTRICTED);
            return 0;
        }
if (!$model->checkFileId()){
JError::raiseError(500, "Error download file");
            return 0;
}
if (!$model->checkNumberDownload()){
JError::raiseWarning(500, _JSHOP_NUMBER_DOWNLOADS_FILE_RESTRICTED);
            return 0;
}

        $name = $model->getFileName();
        if ($name==""){
            JError::raiseWarning('', "Error download file");
            return 0;
        }
        $file_name = $model->getFile($name);

$model->storeStatDownloads();
        
        ob_end_clean();
        @set_time_limit(0);
$model->downloadFile($file_name);

        die();
    }
    
    function reviewsave(){
        JRequest::checkToken() or jexit('Invalid Token');

        $post = JRequest::get('post');
        $backlink = JRequest::getVar('back_link');

$model = JSFactory::getModel('productReview', 'jshop');
$model->setData($post);
if (!$model->checkAllow()){
JError::raiseWarning('', $model->getError());
            $this->setRedirect($backlink);
            return 0;
}
if (!$model->check()){
JError::raiseWarning('', $model->getError());
            $this->setRedirect($backlink);
            return 0;
}
$model->save();

$model->mailSend();

if (JSFactory::getConfig()->display_reviews_without_confirm){
            $this->setRedirect($backlink, _JSHOP_YOUR_REVIEW_SAVE_DISPLAY);
        }else{
            $this->setRedirect($backlink, _JSHOP_YOUR_REVIEW_SAVE);
        }
    }

function ajax_attrib_select_and_price(){
$request = JRequest::get('request');
        $product_id = JRequest::getInt('product_id');
        $change_attr = JRequest::getInt('change_attr');
$qty = JshopHelpersRequest::getQuantity('qty', 1);
$attribs = JshopHelpersRequest::getAttribute('attr');
        $freeattr = JshopHelpersRequest::getFreeAttribute('freeattr');

$model = JSFactory::getModel('productAjaxRequest', 'jshop');
$model->setData($product_id, $change_attr, $qty, $attribs, $freeattr, $request);
print $model->getProductDataJson();
die();
}

    function showmedia(){
        $jshopConfig = JSFactory::getConfig();
        $media_id = JRequest::getInt('media_id');
        $file = JSFactory::getTable('productfiles', 'jshop');
        $file->load($media_id);

        $scripts_load = '<script type="text/javascript" src="'.JURI::root().'media/jui/js/jquery.min.js"></script>';
        $scripts_load .= '<script type="text/javascript" src="'.JURI::root().'components/com_jshopping/js/jquery/jquery.media.js"></script>';

        $view = $this->getView("product");
        $view->setLayout("playmedia");
        $view->assign('config', $jshopConfig);
        $view->assign('filename', $file->demo);
        $view->assign('description', $file->demo_descr);
        $view->assign('scripts_load', $scripts_load);
        $dispatcher = JDispatcher::getInstance();
        $dispatcher->trigger('onBeforeDisplayProductShowMediaView', array(&$view) );
        $view->display();
        die();
    }
}
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #91 : 26.10.2015, 18:22:57 »
controller checkout - onBeforeSaveCheckoutStep4save раньше вызывалась до $sh_pr_method_id = JRequest::getInt('sh_pr_method_id'), сейчас после.

onLoadCheckoutStep3 и onLoadCheckoutStep4 - сейчас вызываются после $this->setRedirect, раньше до

Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #92 : 26.10.2015, 18:50:24 »
Новий код

Код
function step3(){
$jshopConfig = JSFactory::getConfig();
$checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');
        $checkout = JSFactory::getModel('checkoutPayment', 'jshop');
    $checkout->checkStep(3);

$dispatcher = JDispatcher::getInstance();
        $dispatcher->trigger('onLoadCheckoutStep3', array() );

if ($jshopConfig->without_payment){
$next_step = $checkoutStep->getNextStep(3);
$checkout->setMaxStep($next_step);
$this->setRedirect($checkoutStep->getCheckoutUrl($next_step));
            return 0;
        }
       
        $cart = JSFactory::getModel('cart', 'jshop');
        $cart->load();
$checkout->setCart($cart);

        $adv_user = JSFactory::getUser();
       
        JshopHelpersMetadata::checkoutPayment();
       
        $checkout_navigator = $checkout->showCheckoutNavigation(3);
        $small_cart = $checkout->loadSmallCart(3);

$paym = $checkout->getCheckoutListPayments();
$active_payment = $checkout->getCheckoutActivePayment($paym, $adv_user);
$first_payment_class = $checkout->getCheckoutFirstPaymentClass($paym);
       
        if ($jshopConfig->hide_payment_step){
            if (!$first_payment_class){
                JError::raiseWarning("", _JSHOP_ERROR_PAYMENT);
                return 0;
            }
            $this->setRedirect($checkoutStep->getCheckoutUrl('step3save&payment_method='.$first_payment_class));
            return 0;
        }
       
        $view = $this->getView("checkout");
        $view->setLayout("payments");
        $view->assign('payment_methods', $paym);
        $view->assign('active_payment', $active_payment);
        $view->assign('checkout_navigator', $checkout_navigator);
        $view->assign('small_cart', $small_cart);
        $view->assign('action', $checkoutStep->getCheckoutUrl('step3save', 0, 0));
        $dispatcher->trigger('onBeforeDisplayCheckoutStep3View', array(&$view));
        $view->display();   
    }
   
    function step3save(){
        $checkout = JSFactory::getModel('checkoutPayment', 'jshop');
        $checkout->checkStep(3);
       
$dispatcher = JDispatcher::getInstance();       
$checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');
        $post = JRequest::get('post');
       
        $dispatcher->trigger('onBeforeSaveCheckoutStep3save', array(&$post) );
       
        $cart = JSFactory::getModel('cart', 'jshop');
        $cart->load();
$checkout->setCart($cart);
       
        $adv_user = JSFactory::getUser();
       
        $payment_method = JRequest::getVar('payment_method'); //class payment method
        $params = JRequest::getVar('params');

if (!$checkout->savePaymentData($payment_method, $params, $adv_user)){
JError::raiseWarning('', $checkout->getError());
            $this->setRedirect($checkoutStep->getCheckoutUrl('3'));
            return 0;
}
$paym_method = $checkout->getActivePaymMethod();
       
        $dispatcher->trigger('onAfterSaveCheckoutStep3save', array(&$adv_user, &$paym_method, &$cart));

$next_step = $checkoutStep->getNextStep(3);
$checkout->setMaxStep($next_step);
$this->setRedirect($checkoutStep->getCheckoutUrl($next_step));
    }
   
    function step4(){
$dispatcher = JDispatcher::getInstance();
        $checkout = JSFactory::getModel('checkoutShipping', 'jshop');
        $checkout->checkStep(4);       
        $jshopConfig = JSFactory::getConfig();
$checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');

$dispatcher->trigger('onLoadCheckoutStep4', array());

if ($jshopConfig->without_shipping){
$checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');
$next_step = $checkoutStep->getNextStep(4);
$checkout->setMaxStep($next_step);
$this->setRedirect($checkoutStep->getCheckoutUrl($next_step));       
            return 0;
        }

        JshopHelpersMetadata::checkoutShipping();
       
        $cart = JSFactory::getModel('cart', 'jshop');
        $cart->load();
$checkout->setCart($cart);       
        $adv_user = JSFactory::getUser();

        $checkout_navigator = $checkout->showCheckoutNavigation(4);
        $small_cart = $checkout->loadSmallCart(4);

$shippings = $checkout->getCheckoutListShippings($adv_user);
if ($shippings===false){
JError::raiseWarning("", $checkout->getError());
return 0;
}
if (count($shippings)==0 && $jshopConfig->checkout_step4_show_error_shipping_config){
JError::raiseWarning("", _JSHOP_ERROR_SHIPPING);
}
$active_shipping = $checkout->getCheckoutActiveShipping($shippings, $adv_user);
       
        if ($jshopConfig->hide_shipping_step){
            $first_shipping = $checkout->getCheckoutFirstShipping($shippings);
            if (!$first_shipping){
                JError::raiseWarning("", _JSHOP_ERROR_SHIPPING);
                return 0;
            }           
            $this->setRedirect($checkoutStep->getCheckoutUrl('step4save&sh_pr_method_id='.$first_shipping));
            return 0;
        }
       
        $view = $this->getView("checkout");
        $view->setLayout("shippings");
        $view->assign('shipping_methods', $shippings);
        $view->assign('active_shipping', $active_shipping);
        $view->assign('config', $jshopConfig);       
        $view->assign('checkout_navigator', $checkout_navigator);
        $view->assign('small_cart', $small_cart);
        $view->assign('action', $checkoutStep->getCheckoutUrl('step4save', 0, 0));
        $dispatcher->trigger('onBeforeDisplayCheckoutStep4View', array(&$view));
        $view->display();
    }
   
    function step4save(){
        $checkout = JSFactory::getModel('checkoutShipping', 'jshop');
    $checkout->checkStep(4);       
$checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');

$dispatcher = JDispatcher::getInstance();
        $dispatcher->trigger('onBeforeSaveCheckoutStep4save', array());

$sh_pr_method_id = JRequest::getInt('sh_pr_method_id');
$allparams = JRequest::getVar('params');

        $cart = JSFactory::getModel('cart', 'jshop');
        $cart->load();
$checkout->setCart($cart);       
        $adv_user = JSFactory::getUser();

if (!$checkout->saveShippingData($sh_pr_method_id, $allparams, $adv_user)){
JError::raiseWarning('', $checkout->getError());
            $this->setRedirect($checkoutStep->getCheckoutUrl('4'));
            return 0;
}
$sh_method = $checkout->getActiveShippingMethod();
$shipping_method_price = $checkout->getActiveShippingMethodPrice();
       
        $dispatcher->trigger('onAfterSaveCheckoutStep4', array(&$adv_user, &$sh_method, &$shipping_method_price, &$cart));

$next_step = $checkoutStep->getNextStep(4);
if ($next_step==3){
$checkout->setMaxStep(4);
}else{
$checkout->setMaxStep($next_step);
}
$this->setRedirect($checkoutStep->getCheckoutUrl($next_step));
    }
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #93 : 26.10.2015, 20:38:07 »
нашел таки проблему с дублированием в onBeforeCreateMailOrderStatusView. раньше использовалось
Код
$view = new JshoppingViewCheckout($view_config);
а сейчас
Код
$view = $this->getView('checkout');
но дело в том, что JController/getView возвращает static $views. соответственно, единожды определив $view = $this->getView('checkout'); для клиента, второй раз для админа это уже будет тоже самое вью. и допустим если делать в плагине
Код
if (!isset($view->_tmp_ext_html_ordermail_end)) {
$view->_tmp_ext_html_ordermail_end = '';
}
$view->_tmp_ext_html_ordermail_end .= ....;
то для админа содержимое $view->_tmp_ext_html_ordermail_end будет 2 раза.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #94 : 27.10.2015, 10:08:40 »
Новый код
models/base.php

Код
<?php
/**
* @version      4.11.1 11.09.2015
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die();
include_once(JPATH_JOOMSHOPPING."/controllers/base.php");

abstract class jshopBase{

private $error;

public function setError($error){
        $this->error = $error;
    }
   
    public function getError(){
        return $this->error;
    }
   
    public function getView($name){
$jshopConfig = JSFactory::getConfig();
include_once(JPATH_JOOMSHOPPING."/views/".$name."/view.html.php");
$config = array("template_path"=>$jshopConfig->template_path.$jshopConfig->template."/".$name);
$viewClass = 'JshoppingView'.$name;
        $view = new $viewClass($config);
        return $view;
    }

}
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #95 : 15.11.2015, 14:05:24 »
Код
$config->auto_backup_addon_files = 1;
несомненно, иногда очень важная и нужная функция. только вот плохо, что она по-умолчанию 1, а не 0. у некоторых место на хостинге может закончится неожиданно, хостинги - они ведь разные :) это не говоря о том, что плохо, что она в принципе настройка в файле, а не флажок в админке.

но что еще хуже, что после этого php перестают быть php
Код
copy(JPATH_ROOT.$subdir."/".$file, JPATH_ROOT.$subdir."/".$file."_".date('ymdHis'));
осталось дождаться апдейта, и можно качать все, что интересует...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Re: Ошибки магазина (2015)
« Ответ #96 : 15.11.2015, 15:18:31 »
+ +dmitry_stas
Подавляющее большинство умеют и пользуются тем или иным бэкапам
По факту это наверно лишняя шестерёнка в ЖШ:
Код
$config->auto_backup_addon_files = 1;
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #97 : 15.11.2015, 23:20:29 »
Код
$config->auto_backup_addon_files = 1;
несомненно, иногда очень важная и нужная функция. только вот плохо, что она по-умолчанию 1, а не 0. у некоторых место на хостинге может закончится неожиданно, хостинги - они ведь разные :) это не говоря о том, что плохо, что она в принципе настройка в файле, а не флажок в админке.

но что еще хуже, что после этого php перестают быть php
Код
copy(JPATH_ROOT.$subdir."/".$file, JPATH_ROOT.$subdir."/".$file."_".date('ymdHis'));
осталось дождаться апдейта, и можно качать все, что интересует...

В новой версии будет
Опция в админке (по умолчанию включена)
сохранение в папку tmp/jshopbackup/datetime/...
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ошибки магазина (2015)
« Ответ #98 : 19.11.2015, 13:51:37 »
Не знаю, к теме относится или нет, но в настройках http://prntscr.com/94grl9 не позволяет поставить Опциональная регистрация во время оформления. Эти пункты в списке даже не выделяются и не выбираются.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина (2015)
« Ответ #99 : 19.11.2015, 14:06:13 »
это не ошибка. это функционал 1 степа.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Re: Ошибки магазина (2015)
« Ответ #100 : 30.11.2015, 16:09:37 »
В шаблоне профиля клиента (templates\default\user\myaccount.php)
На в 43 строчке:
Код: php
<?php print $this->user->groupname?> 
Не выводится название группы к которой принадлежит юзер.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина (2015)
« Ответ #101 : 30.11.2015, 16:21:34 »
Не выводится название группы к которой принадлежит юзер.
/administrator/index.php?option=com_jshopping&controller=config&task=otherconfig
Показать информацию группы пользователей
Показать группы пользователей
да/нет ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Re: Ошибки магазина (2015)
« Ответ #102 : 30.11.2015, 18:24:23 »
:) Надеюсь Вы не делали преждевременных выводов и проверили у себя
да/нет ?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина (2015)
« Ответ #103 : 30.11.2015, 18:36:46 »
:) Надеюсь Вы не делали преждевременных выводов и проверили у себя
я давно не пользуюсь стандартными средставми. не проверял. я предположил. потому что раньше выводилось точно.
оставим ответ для Виктора.

П.С. не выводит однако.....
« Последнее редактирование: 30.11.2015, 21:13:06 от nevigen »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #104 : 30.11.2015, 22:04:15 »
Цитата: \components\com_jshopping\tables\usergroup.php
   function getName(){
        $lang = JSFactory::getLang();
        $field = $lang->get("name");
      $name = $this->$field;
      if ($name==''){
         $name = $thid->usergroup_name;
      }
      return $name;
    }

и кстати $usershop->percent_discount и $usershop->discountpercent - одинаковое вроде?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
Re: Ошибки магазина (2015)
« Ответ #105 : 15.12.2015, 19:10:55 »
После недавнего обновления на 4.11.5
Стало не удобно клиентам авторизироваться/оформлять заказ на сайте.
После добавления товаров в корзину и авторизации для оформления заказа, клиент попадает на главную страницу, хотя должен попасть на 1 шаг оформления заказа - Адрес счета.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #106 : 16.12.2015, 10:09:56 »
Проблема только у вас.

http://demo.joomshopping.com/example5/
demo
demo
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
Re: Ошибки магазина (2015)
« Ответ #107 : 16.12.2015, 10:44:28 »
Проблема только у вас.

http://demo.joomshopping.com/example5/
demo
demo
Проверил на 4.11.4 - прекрасно переходит на первый шаг оформления заказа.
Попробовал переопределить в настройке модуля Логина переход на оформление заказа после авторизации - работает!
Но для пункта меню - клиенты (личный кабинет) все также на главную переходит, в 4.11.5

Подскажите, как безболезненно перейти обратно на 4.11.4 (может один файл или папку) или где искать ошибку в 4.11.5 (обновления в перспективе нужны)?
Прошу помощи, жутко не удобно клиентам.
« Последнее редактирование: 16.12.2015, 10:52:01 от threemonkeys »
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
Re: Ошибки магазина (2015)
« Ответ #108 : 16.12.2015, 13:35:32 »
Как исправить эту ошибку?
Подскажите хотябы какой файл отвечает за переход клиента на страницу 1 шага оформления, сразу после авторизации?
Кто может помочь, отзовитесь

Upd: это не может быть связано с обновлением самой Joomla 3.4.6?
« Последнее редактирование: 16.12.2015, 13:55:36 от threemonkeys »
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
Re: Ошибки магазина (2015)
« Ответ #109 : 16.12.2015, 22:28:44 »
Если кто-либо может помочь, посодействуйте?!
Неужели никто не знает какой файл отвечает за это действие.
Магазин стал жутко не удобный в использовании.
Пытаешься оформить заказ после авторизации, попадаешь на главную и остается чувство недоумения.
Я в отчаянии!!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибки магазина (2015)
« Ответ #110 : 16.12.2015, 22:53:09 »
1. ну Вы же заявили ошибку, достаточно. это не тема решение конкретных вопросов. тут заявляют об ошибках для решения.
2. вам же ответили что обновления затрагивали много чего. и Ваша ситуация индивидуальна. больше никто не столкнулся с таким.
3. не стоит писать в этой теме об отчаяниях и т.д. здесь тема где сухая статистика ошибок.
4. поднимайте бекап и пользуйтесь старым набором... а на тестовой площадке ищите решение вопроса.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #111 : 18.12.2015, 10:26:18 »
После недавнего обновления на 4.11.5
Стало не удобно клиентам авторизироваться/оформлять заказ на сайте.
После добавления товаров в корзину и авторизации для оформления заказа, клиент попадает на главную страницу, хотя должен попасть на 1 шаг оформления заказа - Адрес счета.

Ошибка после обновления Joomla до 3.4.6
Ошибка в JURI::isInternal

Можно удалить проверку в JoomShopping
components\com_jshopping\models\userlogin.php

public function getRequestReturnUrl(){      
        if ($return = JRequest::getVar('return', '', 'method', 'base64')){
            $return = base64_decode($return);         
            if (!JURI::isInternal($return)){
                $return = '';
            }
        }
        return $return;
    }

изменить на

public function getRequestReturnUrl(){      
        if ($return = JRequest::getVar('return', '', 'method', 'base64')){
            $return = base64_decode($return);         
           
        }
        return $return;
    }



*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #112 : 18.12.2015, 11:18:59 »
я уже отписал по поводу ошибки в JURI::isInternal, она уже была зарегистрирована как баг, думаю в апдейте поправят.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Ошибки магазина (2015)
« Ответ #113 : 18.12.2015, 16:09:44 »
Думаю не поправлят
https://github.com/joomla/joomla-cms/issues/8689
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Ошибки магазина (2015)
« Ответ #114 : 23.12.2015, 20:35:59 »
Версия Joomla 3.4.7 + JoomShopping 4.11.5 - При выборе типа пункта меню (JoomShopping) и любого типа ссылки самого магазина - не сохраняются выбранные данные и не передаются в поле "Тип пункта меню". Нет возможности создать любую ссылку в меню типа "JoomShopping".
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #115 : 23.12.2015, 20:43:14 »
выйдите из аккаунта и опять зайдите. если не поможет куки почистите.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Ошибки магазина (2015)
« Ответ #116 : 23.12.2015, 20:48:19 »
выйдите из аккаунта и опять зайдите. если не поможет куки почистите.
Спасибо, помогло...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #117 : 19.01.2016, 18:37:51 »
Цитата: \components\com_jshopping\tables\product.php
if ($v->attr_type==1){
// attribut type select

   if ($jshopConfig->attr_display_addprice){
      foreach($options as $k2=>$v2){
         if (($v2->price_mod=="+" || $v2->price_mod=="-" || $jshopConfig->attr_display_addprice_all_sign) && $v2->addprice>0){
            $ext_price_info = " (".$v2->price_mod.formatprice($v2->addprice, null, 0, -1).")";
            $options[$k2]->value_name .=$ext_price_info;
         }
      }
   }

при $config->formatprice_style_currency_span = 1; ошибка. в select надо всегда принудительно без форматирования.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибки магазина (2015)
« Ответ #118 : 12.02.2016, 23:47:58 »
не сохраняет Закупочную цену в savegroup
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Re: Ошибки магазина (2015)
« Ответ #119 : 22.02.2016, 23:05:21 »
Версия Joomla 3.4.8 + JoomShopping 4.12.0 - Тип пункта меню->JoomShopping->Клиенты... Дале "Show"->"User/Edit account" либо "User/Orders"
1. После сохранения и дальнейшем повторном редактировании пропадает значение "Тип пункта меню". Совет с чисткой кукисов не помог.
2. При создании пункта меню "Edit account" путь в навигаторе сайта имеет вид "Главная > Мои данные > Изменить мои данные". При нажатии на "Мои данные" попадаем туда. откуда пришли - "Изменить мои данные".
3. При создании пункта меню "myaccount" путь в навигаторе сайта имеет вид "Главная > Мой профиль > Мой профиль". При нажатии на "Мой профиль" попадаем туда, откуда пришли - "Мой профиль > Мой профиль".
3. При создании пункта меню "myaccount" и дочерним пунктом меню "Edit account" путь в навигаторе сайта имеет вид "Главная > Мой профиль > Мои данные > Изменить мои данные". При нажатии... пришли туда же.
4. Почему в "список желаний" добавлять товар можно только при выбранных атрибутах? Как бы я понимаю, что они на стоимость могут влиять. Но нельзя ли добавить для атрибутов возможность выбора одного из значений как "по-умолчанию"? Да и для "списка желаний", в некоторых магазинах, выбор атрибутов - это не критично.
« Последнее редактирование: 22.02.2016, 23:28:57 от Tuzemec »
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При обновлении Joomshopping до 4.16 и Joomla до 3.9.3 - ошибка 1054

Автор busik

Ответов: 8
Просмотров: 3314
Последний ответ 15.12.2021, 01:01:46
от nevigen
Что нужно доделать в ЖШ

Автор nevigen

Ответов: 924
Просмотров: 103648
Последний ответ 22.12.2020, 22:09:27
от nevigen
Проблема с деталями заказа Error 1054

Автор nemo_228

Ответов: 4
Просмотров: 1827
Последний ответ 02.10.2016, 20:29:43
от dmitry_stas
Выдает ошибку 1054 с одного браузера

Автор buto

Ответов: 10
Просмотров: 1890
Последний ответ 04.09.2016, 09:36:32
от buto
Поменять местами данные в форме ФИО

Автор Roman74ru

Ответов: 1
Просмотров: 2266
Последний ответ 23.07.2016, 15:53:19
от Roman74ru