小编Col*_*ell的帖子

如何从别人的回购中拉出远程分支

我有一个在GitHub上托管的项目,有人分叉了.在他们的分支上,他们创建了一个新的分支"foo"并进行了一些更改.如何将他们的"foo"拉入我的仓库中名为"foo"的新分支?

我知道他们可以向我提交拉动请求,但我想自己启动这个过程.

假设如下:

  1. 因为他们分叉我的项目,我们的回购共享相同的'历史'
  2. 虽然GitHub显示他们的项目是从我的分叉,但我的本地存储库没有任何对此人项目的引用.我需要将它们添加为遥控器吗?
  3. 我还没有一个名为"foo"的分支 - 我不知道是否需要先手动创建它.
  4. 我绝对希望把它拉进一个单独的分支而不是我的主人.

git github git-pull git-remote git-branch

246
推荐指数
6
解决办法
11万
查看次数

确定是否启用了Magento模块

确定Magento中是否启用/激活特定模块的最佳方法是什么?我试过class_exists用来检查我的代码是否已经被PHP加载和解析但最近我注意到它非常不可靠(true即使我删除模块的.xml配置也会返回).

我可以打电话给核心功能吗?

php module magento

31
推荐指数
2
解决办法
3万
查看次数

Magento请求 - 前端还是后端?

如何判断当前请求是针对后端还是后端页面?此检查将在观察者内部完成,因此如果有帮助,我可以访问请求对象.

我考虑过检查,Mage::getSingleton('admin/session')->getUser()但我不认为这是一种非常可靠的方法.我希望有更好的解决方案.

php magento magento-1.x

22
推荐指数
4
解决办法
3万
查看次数

以编程方式检索所有送货方式的列表

我正在编写一个快速而肮脏的模块来限制基于购物车中产品的运输方式.例如,如果客户添加食物,我只想要选择隔夜送货方式.一些商业扩展只是矫枉过正,并且拥有我需要的更多功能.

每个产品都有一个名为"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)

php magento

17
推荐指数
2
解决办法
3万
查看次数

如何在ASP.NET MVC中手动设置用户角色?

我正在研究的这个项目要求我保留一个管理员用户的本地数据库,并为常规用户使用外部数据库.任何在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用户属于哪个角色.

asp.net asp.net-mvc roles membership-provider

16
推荐指数
2
解决办法
2万
查看次数

array_intersect,但是对于单个数组变量的子数组

我有一个看起来像这样的数组:

$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)

由于所有三个子阵列都具有这些共同的值.做这个的最好方式是什么?

一些考虑:

  • 总会有至少一个子阵列.没有上限.
  • 如果只提供一个子数组,则应该返回该子数组
  • 如果所有子数组中没有任何公共值,则应返回空数组
  • 如果此功能已作为PHP函数存在,我将/ facepalm

php arrays

9
推荐指数
1
解决办法
2434
查看次数

从RSA公钥中提取数据

我正在研究涉及阅读用于签署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)

php c# java android cryptography

6
推荐指数
1
解决办法
1929
查看次数

具有固定子项目数量的分组产品

我正在开发一个拥有许多简单产品的Magento网站.还有一个"假日套餐",它将几种简单的产品合二为一,价格优惠:

  • A项中的第6项
  • B项中的2项
  • C项中的2项
  • D项中的第2项

" 分组 "产品类型非常接近我需要的产品类型 - 它允许每个项目跟踪它自己的库存,当需要运输和估计包装时,它会尝试使用每个产品的重量/体积来包装容器个别项目.(这个运输方面非常重要,因为我们需要尽可能高效地包装盒子 - 使用所有物品的估计尺寸的简单产品可能不起作用).

但是,我们希望客户能够选择每个项目的数量.相反,客户应该被要求选择他们想要的假日套餐数量.

分组产品是最好的方法吗?有没有更好的方法来处理这个?

php magento e-commerce

6
推荐指数
1
解决办法
3588
查看次数

剥离Magento作为框架?

我已经和Magento合作了一段时间,真的很喜欢为它开发模块.最近我一直想知道是否可能/可行地剥离电子商务方面并将核心组件用作应用程序框架,类似于ZF或CakePHP.

例如,在/ app/code/core /中,除以下内容之外的所有内容都将被删除:

  • 法师/ Adminhtml
  • 法师/管理员
  • 法师/核心
  • (我可能会错过其他几件重要的作品)
  • 所有Varien和Zend代码也将保持不变.

您将能够利用以下支持开发自定义Web应用程序:

  • 模块
  • 块,布局和模板
  • 后端包含用户,权限和配置
  • Mage静态方法到getModel等
  • 翻译
  • 网页服务

这是可行的还是一个好主意?

php zend-framework magento

6
推荐指数
1
解决办法
989
查看次数

Magento:获取"禁用模块输出"的值

Magento后端允许您禁用每个站点的模块输出.我已经完成了一些谷歌搜索,但无法弄清楚如何通过我的代码获取此值.基本上,当我的模块输出被禁用时,工作正常.但我发现(艰难的方式)Magento并没有阻止模块加载每个站点.

因为我正在扩展一些核心类,所以一些构造函数仍在执行中.我的想法是检查模块输出是否被禁用.如果是这样,让我的构造函数调用父的构造函数.如果启用了模块输出,请继续我的自定义代码.

我只是无法弄清楚如何获取当前站点的这个值(我是多站点,BTW).理想情况下它会是这样的:

$isThisEnabled = Mage::app()->getCurrentStore()->isOutputEnabled('myModule');

基本上有一行可以获取当前站点的值(如果没有为当前站点指定,则为默认值).

任何帮助将不胜感激!

编辑:我找到了表core_config_data,它似乎存储了这些信息.我可以手动查询,如果我必须,但我觉得我的Magento将有一些内置返回当前专卖店的值,回落至默认值.

php module magento

4
推荐指数
1
解决办法
2474
查看次数

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)

php magento

3
推荐指数
2
解决办法
1万
查看次数

mysql不会启动 - innoDB:数据库没有正常关闭

我办公室的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)

mysql

0
推荐指数
1
解决办法
3万
查看次数