小编Cog*_*ero的帖子

开发一个简单的Windows系统托盘桌面应用程序来使用.NET Web服务

我需要开发一个简单的Windows系统托盘桌面应用程序来使用.NET Web服务,但我精通PHP,而且我在桌面应用程序方面几乎没有背景.您建议我使用什么平台,最好是学习曲线非常低?

系统托盘应用程序将显示(在上下文菜单中)从.NET Web服务收到的新事件通知的计数器; 并且还会将所有事件日志写入文本文件.

我已经在考虑使用Adobe AIR或C#.NET,但我想知道是否有更好的选项,我可以快速学习开发应用程序.

.net c# air web-services system-tray

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

如何在PHP/MySQL中使用jQuery SlickGrid(加载服务器数据并保存更改)

请在SlickGrid代码中找到的所有示例中,在客户端随机生成数据数组.

获取:我需要知道如何使用PHP从MySQL数据库中获取此信息并使用jQuery/AJAX将其返回到SlickGrid.

保存:我已经在StackOverflow上找到了一个链接,用于使用隐藏输入(在SlickGrid中保存更改)从网格中保存数据,但是我不应该清楚如何在获取PHP脚本时处理这些数据.

一些详细的帮助和/或指针将不胜感激,我是一个菜鸟,我没有找到关于这个真棒插件的足够文档.

php mysql ajax jquery slickgrid

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

使用自定义 Woocommerce 支付网关覆盖“下订单”按钮的 Javascript

我目前正在开发一个自定义 Woocommerce 支付网关,该网关通过内联弹出窗口接收信用卡详细信息。网关期望用户单击按钮,然后弹出窗口加载,用户可以输入他的卡详细信息。

一切正常,但用户体验流程并不如预期,因为用户必须依次单击两个按钮才能结账。

我所做的:选择网关后,用户单击一个按钮,加载内联弹出窗口,输入付款详细信息,如果获得授权,javascript回调将发送一个交易引用作为隐藏字段,该引用在用户单击“下订单”时提交”。这很有效,但单击两个按钮并不直观或用户体验友好。毫无戒心的用户可能会先单击“下订单”按钮,这会触发错误,因为付款过程尚未完成。

我想要实现的目标:用户只需单击“下订单”,在处理订单之前,它会运行网关 JavaScript 函数,像往常一样加载安全内联弹出窗口,授权后我可以回调 Place 的正常流程订购按钮。

我考虑过:制作结账表单和脚本的自定义副本并放入主题中。但支付网关脚本是一个插件,应该独立于主题。

PS 我之前在 WordPress Stack xchange 上发布了此内容,但在那里我没有得到任何关注。

javascript wordpress payment-gateway woocommerce

5
推荐指数
1
解决办法
8223
查看次数

Apache htaccess mod 在 PHP 索引页面中使用控制器 GET 变量重写重定向

我正在使用自定义 MVC PHP 框架,索引页面(充当路由器)接收一个 GET 变量“do”,其中包含它将路由到的路径。如果未设置此变量,则默认为 Auth 控制器、方法登录。

require_once('config.php');
$controllerAction = isset($_GET['do'])?$_GET['do']:"auth/login";
require_once('core/main.php');
Run Code Online (Sandbox Code Playgroud)

然后索引页面(上面的源代码)将此 $controllerAction 传递到 main.php 文件,该文件自动加载主控制器,然后加载请求的控制器。

因此,此框架中的 URI 的形式为 mysite.com/?do=controller/method/variable,我需要它的形式为 mysite.com/controller/method/variable。

这是我尝试使用的 .htaccess 文件,它只是不起作用(我有其他 htaccess 文件在同一台服务器上工作,所以这不是 Apache 问题):(

RewriteEngine On
RewriteRule ^([^/]*)$ /?do=$1 [L]
Run Code Online (Sandbox Code Playgroud)

有人建议我可以使用 PHP 来做到这一点,但我不知道如何去做。

编辑:错误是,每当我尝试直接访问 mysite.com/controller/method 链接而不是默认的 mysite.com?do=controller/method 时,我都会收到“此页面无法显示”、404 错误

进一步编辑

(请注意,其他虚拟主机在我的本地主机上工作正常):

(XAMPP) Apache 虚拟主机信息:

<VirtualHost *:80>
    DocumentRoot "D:\sites\mysite.com\root\wwwroot"
    ServerName mysite.com
    ServerAlias mysite.com
  <Directory "D:\sites\mysite.com\root\wwwroot">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
  </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

文件结构(Windows):

D:\
--sites
----mysite.com
--------@client_details
--------root …
Run Code Online (Sandbox Code Playgroud)

php mod-rewrite

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

Woocommerce仅在选择了特定付款方式的情况下运行javascript

我已经为Woocommerce开发了一个支付网关插件,它在很大程度上依赖于一些JavaScript,这些JavaScript会加载弹出窗口来捕获用户详细信息。仅当从单选按钮中选择该网关时,我才需要运行该javascript。由于某种原因,它不起作用。这是我的代码

jQuery(document).ready(function() {
  usingGateway();
  jQuery('form[name="checkout"] input[name="payment_method"]:checked').change(function(){
    usingGateway();
  });
});

function usingGateway(){
    console.log(jQuery("input[name='payment_method']:checked").val());
    if(jQuery('form[name="checkout"] input[name="payment_method"]:checked').val() == 'my_gateway'){
        console.log("Using my gateway");
        //Etc etc
    }else{
         console.log("Not using my gateway. Proceed as usual");
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎woocommerce以某种方式覆盖了javascript,因为即使选中了单选按钮,我的payment_method的console.log始终是未定义的。然后,IF块将被跳过,并且始终显示“不使用我的网关。当我注释掉IF语句时,支付网关可以正常工作。

但是我需要它工作,因为如果用户选择其他付款方式(甚至是BACS或离线付款),则javascript仍会加载弹出窗口,并尝试使用我的自定义网关处理付款。

更新:根据rnevius的评论,我检查了woocommerce checkout.js并将其从那里复制到我的插件javascript中:

var payment_methods = jQuery('.woocommerce-checkout').find( 'input[name="payment_method"]' );
if ( 0 === payment_methods.filter( ':checked' ).size() ) {
payment_methods.eq(0).attr( 'checked', 'checked' );
}
Run Code Online (Sandbox Code Playgroud)

因此,基本上,如果尚未检查任何内容,woocommerce将强制检查第一项。不知道为什么我需要这样做,因为woocommerce已经在checkout.js中做到了,现在可以工作,但是如果我的网关还不是第一个选定的网关,那么“ change”功能仍然无法使用(当您更改到我的网关时)从另一个)。请帮忙。

javascript wordpress payment-gateway wordpress-plugin woocommerce

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

MySQL 8:使用 JSON_TABLE 的子查询无法工作,除非手动输入子查询结果

这是我面临的问题的最低工作版本。按照文档页面上的JSON 表示例,我在 MySQL 8 中进行了下表测试,其中 id 是 INT 字段,data 是 JSON 字段。

id     |   data
-----------------------------
1      |   [{"x": 2, "y": "8"}, {"x": "3", "y": "7"}, {"x": "4", "y": 6}]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下语句成功获取数据(***):

SELECT data->"$[*]" as example FROM test t WHERE id = 1
Run Code Online (Sandbox Code Playgroud)

它返回“示例”列下:

[{“x”:2,“y”:“8”},{“x”:“3”,“y”:“7”},{“x”:“4”,“y”:6} ]

现在我想尝试从返回的数据构造一个 JSON_TABLE 。如果我手动将数据输入到 JSON_TABLE 查询中,即

SELECT * FROM JSON_TABLE(
    '[{"x": 2, "y": "8"}, {"x": "3", "y": "7"}, {"x": "4", "y": 6}]',
    "$[*]" COLUMNS (
        rowID FOR ORDINALITY,
        xval VARCHAR(100) PATH "$.x", …
Run Code Online (Sandbox Code Playgroud)

mysql subquery mysql-json

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

使用带有Codeigniter的PHP spl_autoload_register()

请问如何在Codeigniter中使用spl_autoload_register()?我需要这样做,因为我使用Codeigniter与另一个框架也使用自动加载.

我在这看到的东西

PHP spl_autoload_register

我不知道如何定位CodeIgniter自动加载.我是OOP和Codeigniter的新手.非常感谢!

以上链接有:


function autoload_services($class_name){
    $file = 'services/' . $class_name. '.php';
    if (file_exists($file)){
        require_once($file);
    }
}

function autoload_vos($class_name){
    $file = 'vos/' . $class_name. '.php';
    if (file_exists($file)){
        require_once($file);
    }
}

function autoload_printers($class_name){
    $file = 'printers' . $class_name. '.php';
    if (file_exists($file)){
        require_once($file);
    }
}

spl_autoload_register('autoload_services');
spl_autoload_register('autoload_vos');
spl_autoload_register('autoload_printers');

php codeigniter autoload spl-autoload-register

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