我有一个在GitHub上托管的项目,有人分叉了.在他们的分支上,他们创建了一个新的分支"foo"并进行了一些更改.如何将他们的"foo"拉入我的仓库中名为"foo"的新分支?
我知道他们可以向我提交拉动请求,但我想自己启动这个过程.
假设如下:
确定Magento中是否启用/激活特定模块的最佳方法是什么?我试过class_exists
用来检查我的代码是否已经被PHP加载和解析但最近我注意到它非常不可靠(true
即使我删除模块的.xml配置也会返回).
我可以打电话给核心功能吗?
如何判断当前请求是针对后端还是后端页面?此检查将在观察者内部完成,因此如果有帮助,我可以访问请求对象.
我考虑过检查,Mage::getSingleton('admin/session')->getUser()
但我不认为这是一种非常可靠的方法.我希望有更好的解决方案.
我正在编写一个快速而肮脏的模块来限制基于购物车中产品的运输方式.例如,如果客户添加食物,我只想要选择隔夜送货方式.一些商业扩展只是矫枉过正,并且拥有我需要的更多功能.
每个产品都有一个名为"Shipping Class"的下拉属性.管理员将能够在后端创建这些Shipping Classes.他们会给它一个名字,并选择允许哪些方法.
在获得运费报价时,我们只会显示基于运输类的允许方法.
我的主要问题是:如何在创建这些运输类时检索管理员可以选择的所有运送方式的列表?
作为次要问题,在Mage_Sales_Model_Quote_Address :: requestShippingRates中对允许的方法进行过滤是否有意义?(当然,我将重写这种方法)
编辑:
感谢@BrianVPS,我能够提出下面的代码.它使用optgroups显示运营商的所有单独方法.多选用效果很好!我不认为它会检查方法是否实际启用了.
public function getAllShippingMethods()
{
$methods = Mage::getSingleton('shipping/config')->getActiveCarriers();
$options = array();
foreach($methods as $_ccode => $_carrier)
{
$_methodOptions = array();
if($_methods = $_carrier->getAllowedMethods())
{
foreach($_methods as $_mcode => $_method)
{
$_code = $_ccode . '_' . $_mcode;
$_methodOptions[] = array('value' => $_code, 'label' => $_method);
}
if(!$_title = Mage::getStoreConfig("carriers/$_ccode/title"))
$_title = $_ccode;
$options[] = array('value' => $_methodOptions, 'label' => $_title);
}
}
return $options;
}
Run Code Online (Sandbox Code Playgroud) 我正在研究的这个项目要求我保留一个管理员用户的本地数据库,并为常规用户使用外部数据库.任何在admin db中通过身份验证的人都应该被分配"admin"角色,而通过另一个db验证的任何人都将被分配一个"用户"角色.
我可以手动分配这些角色吗?我不需要角色提供程序的复杂性或任何东西,因为我只使用这两个角色,这些角色总是基于它们通过哪个db进行身份验证.
如果您可以提供示例代码或指向某些文档的链接,那将是一个巨大的帮助.谢谢!
编辑:
目前我没有使用角色提供者,创建一个似乎很麻烦.我知道它不是'最佳实践',但我只需要在登录期间分配2个角色中的1个(这永远不会改变).将角色信息存储在数据库中也没有意义,因为用户已经按角色分为2个dbs.
这是一些伪代码:
if (AdminDB.ValidateUser(username,password)==true) {
SetAuthCookie(username);
AssociateUserWithRole(username, 'admin');
} elseif (UserDB.ValidateUser(username,password)==true) {
SetAuthCookie(username);
AssociateUserWithRole(username, 'user');
} else {
// Login failed.
}
Run Code Online (Sandbox Code Playgroud)
它的'ThisSession.AssociateUserWithRole'部分我不知道.基本上,用户通过身份验证,我需要告诉.NET用户属于哪个角色.
我有一个看起来像这样的数组:
$foo = array(
0 => array('a', 'b', 'c', 'd'),
1 => array('b', 'c', 'd'),
2 => array('b', 'd', 'f')
)
Run Code Online (Sandbox Code Playgroud)
我将把$foo[0]
,$foo[1]
以及$foo[2]
作为子阵列.
我基本上需要array_intersect()
在所有3个子阵列中执行$foo
.结果应该是:
array('b', 'd')
Run Code Online (Sandbox Code Playgroud)
由于所有三个子阵列都具有这些共同的值.做这个的最好方式是什么?
一些考虑:
我正在研究涉及阅读用于签署Android APK的公钥数据的项目.我能够成功地将签名提取为公钥.当我查看由此生成的二进制pubkey文件时,我会看到一些纯文本,例如名称和城市.
如何使用PHP(甚至Java或C#)安全地提取嵌入公钥内的名称/城市信息? 并希望以这样的方式做到这一点,我确切地知道这些字段是什么(即不是盲目地抓取文本,但知道哪个字符串是一个城市,哪个是名字)
澄清:我没有私钥或证书文件.我目前对签名或加密任何东西都不感兴趣,我只想在不使用像regex这样的kludgy方法的情况下提取pubkey中的明文.
更新: 这是我的一个APK中的示例(base64编码)公钥
MIICBzCCAXCgAwIBAgIES6KlazANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQGEwJVUzELMAkGA1UECBMCUkkxFTATBgNVBAcTDE5hcnJhZ2Fuc2V0dDEVMBMGA1UEAxMMQ29saW4gTydEZWxsMB4XDTEwMDMxODIyMTI1OVoXDTQ1MDMwOTIyMTI1OVowSDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlJJMRUwEwYDVQQHEwxOYXJyYWdhbnNldHQxFTATBgNVBAMTDENvbGluIE8nRGVsbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmPetcBW+ITURXY0LsI2ZfgM3R7K2kwicgpd0W+BYAXQBh76SXyN9MYvtfnUY3SNz37FW/lDQgAO3pbhEFqGwfADh2ctXlYmlE9DtcRQw0ojGVPIDlWBX+9IUxyL/89CPaN84R/1lvdosco4V0BqQYR300S9ZwmwFA2Vh9hSUZmsCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBezKu4G11Z68NTPIBro8xsnbkdYxObzW7BsSr6t9MS5x6EQVs75R/nnKrsMcQ+9ImdT940jhQgZT3ZrYla5VhdbelxnLhBVbJfBdipV3Hv2bG7MnXzFqHYwQqYp+UrP8zWm1YHQf5I/P9VBjlkgwFyNKr0TxP4t/qS08oGX2wvZg==
Run Code Online (Sandbox Code Playgroud) 我正在开发一个拥有许多简单产品的Magento网站.还有一个"假日套餐",它将几种简单的产品合二为一,价格优惠:
" 分组 "产品类型非常接近我需要的产品类型 - 它允许每个项目跟踪它自己的库存,当需要运输和估计包装时,它会尝试使用每个产品的重量/体积来包装容器个别项目.(这个运输方面非常重要,因为我们需要尽可能高效地包装盒子 - 使用所有物品的估计尺寸的简单产品可能不起作用).
但是,我们不希望客户能够选择每个项目的数量.相反,客户应该被要求选择他们想要的假日套餐数量.
分组产品是最好的方法吗?有没有更好的方法来处理这个?
我已经和Magento合作了一段时间,真的很喜欢为它开发模块.最近我一直想知道是否可能/可行地剥离电子商务方面并将核心组件用作应用程序框架,类似于ZF或CakePHP.
例如,在/ app/code/core /中,除以下内容之外的所有内容都将被删除:
您将能够利用以下支持开发自定义Web应用程序:
这是可行的还是一个好主意?
Magento后端允许您禁用每个站点的模块输出.我已经完成了一些谷歌搜索,但无法弄清楚如何通过我的代码获取此值.基本上,当我的模块输出被禁用时,工作正常.但我发现(艰难的方式)Magento并没有阻止模块加载每个站点.
因为我正在扩展一些核心类,所以一些构造函数仍在执行中.我的想法是检查模块输出是否被禁用.如果是这样,让我的构造函数调用父的构造函数.如果启用了模块输出,请继续我的自定义代码.
我只是无法弄清楚如何获取当前站点的这个值(我是多站点,BTW).理想情况下它会是这样的:
$isThisEnabled = Mage::app()->getCurrentStore()->isOutputEnabled('myModule');
基本上有一行可以获取当前站点的值(如果没有为当前站点指定,则为默认值).
任何帮助将不胜感激!
编辑:我找到了表core_config_data,它似乎存储了这些信息.我可以手动查询,如果我必须,但我觉得我的Magento将有一些内置返回当前专卖店的值,回落至默认值.
我正在为Magento的管理区域开发一个模块.我正在尝试关注Magento管理控制器上的Alan Storm的教程,但似乎无法让我的控制器做任何事情.我认为它可能与路由有关,但我不确定.它向我展示了带有404错误的前端模板.
(注意:我在此处已包含所有相关代码.实际问题位于最底层.)
该模块名为Mynamespace_Donor,位于app/code/local/Mynamespace/Donor /中.
我的etc/config.xml看起来像这样:
<?xml version="1.0"?>
<config>
<modules>
<Mynamespace_Donor>
<version>0.1.0</version>
</Mynamespace_Donor>
</modules>
<global>
<helpers>
<donor>
<class>Mynamespace_Donor_Helper</class>
</donor>
</helpers>
<resources>
<donor_setup>
<setup>
<module>Mynamespace_Donor</module>
</setup>
</donor_setup>
</resources>
</global>
<admin>
<routers>
<donor>
<use>admin</use>
<args>
<module>Mynamespace_Donor</module>
<frontname>donor</frontname>
</args>
</donor>
</routers>
</admin>
<adminhtml>
<menu>
<donor translate="title" module="donor">
<title>Donor</title>
<sort_order>42</sort_order>
<children>
<manage_donors module="donor">
<title>Manage Donors</title>
<action>donor/index/index</action>
</manage_donors>
</children>
</donor>
</menu>
</adminhtml>
</config>
Run Code Online (Sandbox Code Playgroud)
而我的controllers/IndexController.php看起来像这样:
<?php
class Mynamespace_Donor_IndexController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
$this->loadLayout();
//create a text block with the …
Run Code Online (Sandbox Code Playgroud) 我办公室的mysql服务器突然停机,无法启动.我用了XAMPP.当看到日志时它显示如下:
130211 9:45:04 [Note] Plugin 'FEDERATED' is disabled.
130211 9:45:04 InnoDB: The InnoDB memory heap is disabled
130211 9:45:04 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130211 9:45:04 InnoDB: Compressed tables use zlib 1.2.3
130211 9:45:04 InnoDB: Initializing buffer pool, size = 16.0M
130211 9:45:04 InnoDB: Completed initialization of buffer pool
130211 9:45:04 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles! …
Run Code Online (Sandbox Code Playgroud) php ×9
magento ×7
module ×2
android ×1
arrays ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
cryptography ×1
e-commerce ×1
git ×1
git-branch ×1
git-pull ×1
git-remote ×1
github ×1
java ×1
magento-1.x ×1
mysql ×1
roles ×1