小编maG*_*aGz的帖子

跨平台移动推送通知

我知道这不是直接编程相关的,但找不到另一个StackExchange网站发布.我正在使用一个最低限度可自定义的模板,使用PhoneGap创建几十个移动应用程序(在一个发布者下),并且需要将通知消息推送到以下平台上的所有用户:

  • Android的
  • iOS版
  • Windows Phone
  • 黑莓OS 7+

我们有一个由ASP.NET MVC提供支持的自定义后端,需要根据引发的各种事件向移动应用用户发送通知 - 例如当达到特定日期时发送特定消息,或发布通知,以及发送有关特别优惠的通知.

我不确定像PushWhoosh或PubNub订阅这样的全面推送通知服务是否值得投资,或者我们是否应该选择每个平台自己的服务,例如Apple的APNS和Android的GCM(不太确定Blackberry服务可用于推送消息传递到BB OS 7+).

如果有人能对这个问题有所了解,我将非常感激,并将极大地帮助我的决策过程.

非常感谢!

mobile cross-platform push-notification

11
推荐指数
1
解决办法
8502
查看次数

Magento - OnePage Checkout - 根据送货方式隐藏付款方式

我在Magento Stackexchange上问过这个问题没有任何成功,因此我现在在这里问.


我正在使用Magento Community Edition 1.9.0.1并正确创建并注册了我的模块,但我似乎无法检测出运输方法.基本上,如果选择统一费率免费送货,我想隐藏货到付款.这是我的观察者类的代码:

class Kol_PaymentToggle_Model_Observer
{
    public function paymentMethodIsActive(Varien_Event_Observer $observer) {
        $event  = $observer->getEvent();
        $method = $event->getMethodInstance();
        $result = $event->getResult(); 
        $quote = $observer->getEvent()->getQuote();
        $shippingMethod = $quote->getShippingAddress()->getShippingMethod();
        if($shippingMethod == "standardshipping" || $shippingMethod == "free") {
            if($method->getCode() == 'cashondelivery' ) {
                $result->isAvailable = false;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我猜我没有使用正确的运输方式代码名称或付款方式代码名称,但我不确定.有人有什么建议吗?

编辑: 我只启用了3种送货方式:

  • 收集存储
    标题=收集存储
    方法名称=收集存储(扩展链接)
  • 统一费率
    标题=标准交付
    方式名称=标准运输
  • 免费送货
    标题=免费送货
    方式名称=免费

编辑2:config.xml的 输出

<?xml version="1.0"?>
<config>
    <modules>
        <Kol_PaymentToggle>
            <version>0.0.1</version> …
Run Code Online (Sandbox Code Playgroud)

php payment shipping magento onepage-checkout

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

Docker Alpine-启用GD JPEG支持

我在通过Alpine映像获得PHP-FPM的GD Jpeg支持时遇到问题。我尝试了我能想到的每种组合以使其正常工作。以下是我的Dockerfile中的片段:

FROM php:7.1-fpm-alpine

RUN apk update \
    && apk upgrade \
    && apk add --no-cache \
        freetype \
        libpng \
        libjpeg-turbo \
        freetype-dev \
        libpng-dev \
        jpeg-dev \
        libjpeg \
        libjpeg-turbo-dev \

RUN docker-php-ext-configure gd \
        --with-freetype-dir=/usr/lib/ \
        --with-png-dir=/usr/lib/ \
        --with-jpeg-dir=/usr/lib/ \
        --with-gd

RUN NUMPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
    && docker-php-ext-install -j${NUMPROC} gd
Run Code Online (Sandbox Code Playgroud)

当我将其装入容器并运行时php -r 'print_r(gd_info());',得到以下信息:

Array
(
    [GD Version] => bundled (2.1.0 compatible)
    [FreeType Support] => 
    [GIF Read Support] => 1
    [GIF Create …
Run Code Online (Sandbox Code Playgroud)

php-gd libjpeg-turbo docker alpine-linux

8
推荐指数
1
解决办法
5018
查看次数

无法从PHP调用.NET ASMX

我有以下 - 当前托管 - 在.NET中创建的SOAP服务,我试图从PHP调用:

POST /ExampleService/ExampleService.asmx HTTP/1.1
Host: dev.examplesite.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost:51713/ExampleService.asmx/RegisterPerson"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <UserCredentials xmlns="http://localhost:51713/ExampleService.asmx">
      <UserID>string</UserID>
      <AuthKey>string</AuthKey>
    </UserCredentials>
  </soap:Header>
  <soap:Body>
    <RegisterPerson xmlns="http://localhost:51713/ExampleService.asmx">
      <requestItem>
        <RequestResult>string</RequestResult>
        <Firstname>string</Firstname>
        <Lastname>string</Lastname>
      </requestItem>
    </RegisterPerson>
  </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下PHP代码调用它:

<?php
    $ns = "http://dev.examplesite.com/ExampleService/ExampleService.asmx";  
    $wsdl_url = "http://dev.examplesite.com/ExampleService/ExampleService.asmx?wsdl";
    $client = new SOAPClient($wsdl_url);

    $header = new SoapHeader(
        $ns, 
        'UserCredentials', 
        array(
            'UserID' => "1", 
            'AuthKey' => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" 
        )
    );
    $client->__setSoapHeaders($header);

    $params = array( 
        'Firstname'  => 'John', 
        'Lastname' => 'Doe'
    ); …
Run Code Online (Sandbox Code Playgroud)

php asmx soap-client

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

Linq2Sql查询 - 使用分组进行数据透视

我有一个需要在gridview中显示的TimeTable的以下数据集.目前,数据集的片段如下所示:

SessionNum    TimeStart    TimeStop    Details
----------    ---------    --------    -------
1             08:00        09:00       Math101
1             09:00        10:00       Comp102
1             11:00        12:00       Engn101
2             08:00        09:00       Comp102
2             09:00        10:00       Math101
2             10:00        11:00       Acco103
Run Code Online (Sandbox Code Playgroud)

总共有5个会话,我希望数据集看起来像:

TimeStart    TimeStop    Session1    Session2     ...
---------    --------    --------    --------     ---
08:00        09:00       Math101     Comp102
09:00        10:00       Comp102     Math101
10:00        11:00       -           Acco103
11:00        12:00       Engn101     -
Run Code Online (Sandbox Code Playgroud)

正如您将看到的,不需要聚合功能......只是分组,但对于我的生活,我似乎无法绕过这一个.我有以下LINQ查询生成第一个数据集:

List<TimeTable> list = db.TimeTables.OrderBy(o => o.TimeStart).OrderBy(o => o.SessionNum).ToList();
Run Code Online (Sandbox Code Playgroud)

这工作得很好,并产生排序的数据集SessionNum,然后TimeStart.我尝试解决这个问题会引发以下查询:

var result = list.GroupBy(t => t.TimeStart).Select(s …
Run Code Online (Sandbox Code Playgroud)

pivot group-by linq-to-sql

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

Docker - 为 Cron 容器使用 PHP Cli 基础镜像

所以我最近在 Docker 和 Docker-Compose 上玩得很开心,但在这里需要社区的建议。我有一个 docker-compose 文件,包括:

  • 一个 Nginx 容器(基于nginx:1.12-alpine镜像)
  • 一个 PHP-7.0 FPM 容器(基于php:7.0-fpm-alpine图像)
  • 一个 MySQL 容器(基于alpine:3.6镜像)

为了与 Docker 将进程分离到单个容器中的原则保持一致,我现在想添加第四个容器来运行 Cron。crontab 将很简单:

*/5 * * * * www-data sh /var/www/html/cron.sh
Run Code Online (Sandbox Code Playgroud)

这是针对 Magento 站点的,而 cron 通常需要不错的计算能力 - 因此我认为将它放在自己的容器中会很棒。

我有3个问题关于这个......

1) Magento 的cron.sh运行一些检查,然后运行cron.php,所以我假设我的新 cron 容器必须安装并运行 php - 正确吗?

2) 假设我确实需要在 cron 容器中运行 php,那么我不确定是否应该基于php:7.0-cli-alpine图像创建 Dockerfile或使用替代方法?我在某处读到 CLI 图像不在守护程序模式下运行,因此该容器可能会在运行docker-compose up -d.

3) 假设我在上面的 (1) 和 (2) 中是正确的,我是否需要确保我在自定义 PHP-7.0 FPM 映像中安装的任何 PHP/PECL …

php cron docker docker-compose

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