Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


5 questions online user: 62

0
votes
answers
37 views
+10

如何檢查產品是否可下載?

0

我想檢查產品是否可下載並沒有重量,所以我可以檢查它,除非產品是可以解決錯誤的產品。如何檢查產品是否可下載?

這是我要的條件添加到它

<?php if ($_product->isSaleable()): ?> 
沙发
0
1

如果要判斷一個產品是一個可下載的產品的檢查,必須檢查產品的類型。你can see how this is implemented in the internal admin panel widget,並且應能使其適應自己的模板:

if ($_product->isSaleable() && ($_product->getTypeId() == MagentoDownloadableModelProductType::TYPE_DOWNLOADABLE)): 
+0

如果我要檢查情況,如果該產品沒有質量 – user2175784

+0

這可通過'getWeight()''上$ _product'以及。 – MatsLindh

0
votes
answers
29 views
+10

SetEnv APPLICATION_ENV development - .htaccess interacting with Zend Framework?

I have the following on my htaccess.

SetEnv APPLICATION_ENV development

When I pass this file to prodution, I will change it to:

SetEnv APPLICATION_ENV production

This

development

and

production

are set on Zend Framework application.ini correct ?

How does Zend and Apache communicate here? How does Zend knows about that htaccess instruction?

Thanks.

0
votes
answers
47 views
+10

錯誤的控制器被加載

0

我在我的一個Zend Framework 3應用程序中遇到以下問題。我有兩個不同的模塊具有相同的控制器名稱。錯誤的控制器被加載

Module1ControllerStartController 
Module2ControllerStartController 

在這兩種module.config.php文件,我有這樣的路由器配置:

'router' => [ 
    'routes' => [ 
     'module1' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/module1[/:controller[/:action[/:id]]]', 
       'constraints' => [ 
        'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 
        'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 
        'id'  => '[0-9]+' 
       ], 
       'defaults' => [ 
        'controller' => ControllerStartController::class, 
        'action'  => 'index', 
       ], 
      ], 
     ], 
    ], // ROUTES END HERE 
], 

現在我的問題是,單詞數控制器 StartController被加載時,我請致電/module1/start。我認爲這是因爲第二個模塊的別名稍後定義並覆蓋第一個條目。是否有可能在此數組的默認部分中定義默認命名空間? 或者什麼是我的問題的正確解決方案?

更新: 我現在添加了兩個配置文件到phpfiddle。你可以在這裏找到他們: http://main.xfiddle.com/ac5762d7/module1.txt http://main.xfiddle.com/ac5762d7/module2.txt

我現在面臨的問題是「車庫」。

+0

您是否已經在module.config.php之上定義了名稱空間(例如,命名空間模塊1;)嘗試'控制器'=> Module1 Controller StartController :: class –

+0

是的,我做到了。我認爲問題不在代碼的這一部分,而是與別名或工廠。他們似乎是某種全球性的。 –

沙发
0
0

我可能是錯的!但我想你可能會使用相同的路由名稱這兩個模塊。

'router' => [ 
    'routes' => [ 
     'module1' => [ // <-- check this name for both modules 
      'type' => Segment::class, 
      .... 
     ], 
    ], 
], 

一般ZF3加載在LIFO(後進先出)爲了這些路由。因此,匹配最經常的路線應註冊最後和最不常見的路線第一。

你可以試着改變模塊名稱,瞭解路線堆棧,當他們在你的config/modules.config.php

return [ 
    .... 

    'Module2', 
    'Module1', 
]; 

由於單詞數被合併的第一所以模塊1的路線應該先下班合併(在這種特殊情況下,例如),同時爲兩個模塊使用相同的路由名稱。訂購LifO

編輯:

不要使用用於創建服務名稱或別名相同的名稱。在這種情況下,最好使用完全合格的類名。嘗試使用別名的唯一名稱。與工廠試用控制器,如下:

'controllers' => [ 
    'factories' => [ 
     ControllerStartController::class => InvokableFactory::class, 
    ], 
], 

ZF3需要時用於發電控制器提供了這種InvokableFactory::class。但是,如果任何控制器具有構造函數或在構造函數中使用參數,它就不適用。然後,您必須爲該類型的控制器創建工廠。

希望這會幫助你一點!

+0

謝謝。但可悲的是不。這兩條路線有不同的名稱(我的情況是「管理」和「基礎數據」)。我認爲改變模塊順序只會讓我反過來看到,在這兩種情況下總是會加載另一個控制器。 –

+0

它們是可調用的還是工廠驅動的控制?如果工廠驅動控制器,你確定工廠嗎?如果你能分享你的配置文件,我相信我們可以找到問題所在。 –

+0

更改模塊順序僅爲您提供ZF3的聚合和調用路線的意義,但如果您正在使用作曲者自動載入模塊,則無其他。但是,您應該檢查兩個模塊的命名空間。你會展示更多的代碼,包括腳本的命名空間嗎? – unclexo

0
votes
answers
55 views
+10

MySQL查詢格式更改得到Zend TO Yii2

1

任何人都可以幫我要改變從ZEND格式Yii2格式下面的查詢,MySQL查詢格式更改得到Zend TO Yii2

$select = $db->select(); 
$select->from(array('u' => 'user'), array('user_id', 'name', 'dob')) 
     ->join(array('ua' => 'User_Address'), 'ua.user_id = u.user_id', array()) 
     ->join(array('a' => 'Address'), 'a.address_id = ua.address_id', array('address_id', 'street', 'city', 'state', 'country')); 

由於提前,

沙发
0
1

你可以使用如:

$rows = (new yiidbQuery()) 
    -select(['u.user_id', 'u.name', 'u.dob', Address.street, Address.city , Address.state, Address.country ]) 
    ->from('user u') 
    ->join('INNER JOIN', 'User_Address', 'User_Address.user_id = u.id') 
    ->join('INNER JOIN', 'Address', 'Address.user_id = User_Address.address_id AND ')  
    ->all(); 

多見於http://www.yiiframework.com/doc-2.0/guide-db-query-builder.html

+0

謝謝@scaisEdge,但我需要的是,我具備的條件,當其夫lfilled將決定選擇語句的參數(基本上,從db中獲取的列需要在滿足某些條件時動態添加),這就是爲什麼我在Zend中爲每個表提供不同列的原因是否存在點到點轉換? – GThamizh

+1

@GThamizh你原來的問題在哪裏? scaisEdge當前的答案正確地將Zend查詢生成器轉換爲Yii2的查詢生成器。 – lubosdz

0
votes
answers
48 views
+10

Zend框架 - 路由相同的路由到不同的控制器

0

我有兩個路由,並希望匹配兩個路由時,請求中存在一些參數。Zend框架 - 路由相同的路由到不同的控制器

路線1:

  'companies' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/api/v1/companies[/:id]', 
       'defaults' => [ 
        'controller' => V1RestControllerCompaniesController::class, 
       ] 
      ], 
      'priority' => 2, 
      'may_terminate' => true, 
     ], 

路線2:

  'company_members' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/api/v1/companies[/:id][/:members][/:member_id]', 
       'defaults' => [ 
        'controller' => V1RestControllerCompanyMembersController::class, 
       ] 
      ], 
      'priority' => 2, 
      'may_terminate' => true, 
     ], 

欲當成員存在於請求和CompaniesController使用CompanyMembersController當成員犯規存在。但它不是加工。

沙发
0
0

您的問題是在第二條路線,您定義成員作爲參數[/:members]。您應該將其更改爲/成員

我也會建議你的路線參數使用約束。你的路線應該是這樣的:

'companies' => [ 
    'type' => Segment::class, 
    'options' => [ 
     'route' => '/api/v1/companies[/:id]', 
     'defaults' => [ 
      'controller' => ControllerCompaniesController::class, 
      'action'  => 'index', 
     ], 
     'constraints' => [ 
      'id' => 'd+' 
     ] 
    ], 
    'priority' => 2, 
    'may_terminate' => true, 
], 
'company_members' => [ 
    'type' => Segment::class, 
    'options' => [ 
     'route' => '/api/v1/companies[/:id]/members[/:member_id]', 
     'defaults' => [ 
      'controller' => ControllerCompanyMembersController::class, 
      'action'  => 'index', 
     ], 
     'constraints' => [ 
      'id' => 'd+', 
      'member_id' => 'd+', 
     ] 
    ], 
    'priority' => 2, 
    'may_terminate' => true, 
], 

你也可以看到約束將參數ID & member_id爲整數。