小编Jam*_*mes的帖子

SSH SCP本地文件到终端Mac Os X中的Remote

我试图通过VPN使用SSH将本地计算机上的本地文件"magento.tar.gz"复制到远程服务器.这是连接到虚拟机的内部IP,我在这里用作xx.xxxx.

我在SSH帐户上拥有完整的"sudo"访问权限,因此复制过程中不会出现任何问题.我尝试过以下方法:

我尝试了以下(magento.tar.gz文件已经在本地根目录)

sudo scp magento.tar.gz user@xx.x.x.xx/var/www/
Run Code Online (Sandbox Code Playgroud)

这要求我输入我的本地密码.然后返回cp: user@xx.x.x.xx/var/www: Not a directory

sudo scp /Users/myname/magento.tar.gz user@xx.x.x.xx/var/www/
Run Code Online (Sandbox Code Playgroud)

返回相同.

我是否需要在任何地方都包含SSH?

我是否需要先通过SSH连接到该站点?

旁注:我已经设法通过SSH连接到服务器,浏览到目录并创建一个文件夹并使用sudo mkdir等删除它所以我绝对有权限.

ssh terminal command-line scp

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

在Mac OS X 10.6/PHP Mail()循环失败时清除MAMP(后缀?)邮件队列

我想这对我有用,但我正在测试一个循环邮件脚本,该脚本旨在每分钟(在一段时间内)向朋友发送电子邮件,只是为了惹恼他们.(提醒一个健忘的人)

我正在对自己进行测试,看看它是否会起作用,并且在此过程中设置了一个无限循环,并通过电子邮件向我发送了不知名的次数.它是在我的本地主机上使用MAMP Pro.

事故看起来像这样

<?php
while (1){
$to = "me@me.com";
$subject = "The Subject";
$message = "The Reminder.";
$from = "me@me.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "The End.";
}
?>
Run Code Online (Sandbox Code Playgroud)

我运行脚本并将其留在浏览器中大约40秒,同时心情空白,从那时起,我在垃圾邮件文件夹中收到了大约800封或更多的电子邮件,然后关闭了MAMP.

我想知道如何清除它所做的队列.(当MAMP关闭时,没有收到新的垃圾邮件,当它上面的MAMP再次启动时)

在终端sudo postqueue -p会给我长列表postfix -f/ postfix flush等产生

postqueue:致命:无法刷新邮件队列 - 邮件系统已关闭

postsuper -p给了我

postsuper: fatal: use of this command is reserved for the superuser
Run Code Online (Sandbox Code Playgroud)

sudo postsuper -d和一个ID将删除一条消息,但我不能删除所有.


编辑/ UPDATE

回答:

我应该继续摆弄.

sudo postsuper -d ALL是赢家,导致删除了385封邮件

这可能很烦人.

为我试图发挥一个我不完全理解的恶作剧提供了正确的选择.

php email postfix-mta mamp

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

Magento:可以从shell ssh运行导出配置文件

我正试图从Magento出口18,0000种产品,但它却陷入困境

 Warning: Please do not close the window during importing/exporting data
Run Code Online (Sandbox Code Playgroud)

阶段.

我发现可以通过使用快速重新索引这么多产品 php indexer.php --reindex <code>

是否可以使用类似强制导出所有产品的东西,或者通过其id运行数据流配置文件?

php export magento

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

是否可以在PHP中组合数组中的两个数组?

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

$valueOptions = array(
                       'order_shipping_data_firstname' => Mage::helper('orders2csv')->__('order shipping firstname'), 
                       'order_shipping_data_lastname' => Mage::helper('orders2csv')->__('order shipping lastname'),
                       'order_shipping_data_region' => Mage::helper('orders2csv')->__('order shipping region'),
                       'order_shipping_data_street' => Mage::helper('orders2csv')->__('order shipping street'),
                       'order_shipping_data_city' => Mage::helper('orders2csv')->__('order shipping city')
                );
Run Code Online (Sandbox Code Playgroud)

我需要结合名字和姓氏字段,但无法找出解决方案.这是模块中唯一引用任何姓氏/名字/名称的文件,因此它从magento框架内部调用它.理想情况下,它们将存储在变量中,我可以将它们组合起来$ fullname = $ first.$ last等但这在数组中不起作用.

我不太了解使用情况,=>但我知道如果我编辑右侧并进行此操作:=> Mage::helper('orders2csv')->__('order shipping fullname')选项将出现在我想要的位置(在下拉列表中),所以我想我正在尝试组合'order_shipping_data_firstname'&'order_shipping_data_lastname'并放在之前这个,但在阵列中?

我也尝试在变量中启动另一个数组并在valueOptions数组中插入变量,但这已经破坏了.

php arrays

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

使用滚动事件正确实现 GA 增强型电子商务 addImpression

谷歌新的增强型电子商务跟踪有一些很棒的功能,包括印象数据和基于印象的点击率。这很棒,但是Google 给出的默认示例是在页面加载时为每个产品设置 addImpression。问题是,如果一个网站有很大的类别页面(例如一个页面有 100 个产品),那么这些产品中的许多可能实际上从未被查看过,因此“印象”确实没有发生,数据将不准确。

addImpression 方法也可以通过事件发送,所以我解决这个问题的方法是将一个函数绑定到滚动事件并使用jQuery Viewport 插件来查看项目是否真的在视图中。如果该项目在视图中,它会从我添加到每个产品的数据属性标签中获取信息,为该对象创建一个印象,并为其分配一个类“impressionSent”,以便该产品不会再次发送(防止单个页面加载的双重印象)。在每个函数的末尾,使用 .promise().done(),新的展示数据与事件一起发送。

简单的脚本是:

$j(window).bind("scroll", function() {
          $j('li.item:in-viewport').not('.impressionSent').each(function(){
            $j(this).addClass('impressionSent');           
                ga('ec:addImpression', {
                  'id': $j(this).attr('data-sku'),
                  'name': $j(this).attr('data-name'),
                  'category': $j(this).attr('data-category'),
                  'brand': $j(this).attr('data-brand'),
                  'list': 'Category',
                  'position': $j(this).attr('data-position')                     
                });           
          }).promise().done( function() {
              ga('send', 'event', 'scroll', 'impression', {'nonInteraction': true});     
          });
        });
Run Code Online (Sandbox Code Playgroud)

在 Dev 中,除了一个问题外,此方法非常有效:正在触发的事件数量。在控制台中并使用 Google Analytics Debugger 浏览网站时出现以下错误:
Exceeded rate limit for sending hits. Aborting hit.

根据 Google 的说法,每个会话最多可以发送 500 个事件。

所以我的问题是:(1) 是否可以使用 js/jquery 方法来限制每个会话发送的事件数量,而不是执行 setInterval 函数并检查是否有新信息要发送?像在变量中存储特定数量并在达到特定大小或页面退出时将其发送之类的东西?

(2) 对于分析专家:这是否能解决我的问题,或者是“最多 500 个事件”,包括“addImpression”方法的数量。即如果我在一个页面上有 500 个产品并在单个事件中发送 …

javascript jquery google-analytics

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

Magento:在top.phtml中找到的函数renderCategoriesMenuHtml的位置

/catalogue/navigation/top.phtml中的顶部导航模板文件只包含以下简短函数:

<?php $_menu = $this->renderCategoriesMenuHtml(0,'level-top') ?>
<?php if($_menu): ?>
<div class="nav-container">
    <ul id="nav">
        <?php echo $_menu ?>   
        </ul>
</div>
<?php endif ?>
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到renderCategoriesMenuHtml函数,以便我可以进入并编辑top.phtml中调用的$ _menu结果的结构.

目的是我想稍微编辑菜单的结构.它目前出现在HTML中的ul> li> a> ul> li> a> span中,我想略微编辑它.

magento magento-1.5

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

Ajax - 限制列表的加载,然后在滚动时加载其余的

我有一个商店,在一个页面上显示所有类别的产品(这是所有者喜欢它的方式,因此分页不是一个选项).

为了改善某些重类别的加载时间,我希望实现一个脚本,它将加载许多产品<li>s,然后在页面滚动,加载另一个集合.

使用此结构生成页面

<div id="CategoryContent">
  <ul class="ProductList">
       <li class="Odd">Product</li>
       <li class="Even">Product</li>
       <li class="Odd">Product</li>
       <li class="Even">Product</li>
  </ul>
Run Code Online (Sandbox Code Playgroud)

理想情况下我想.首先加载25 <li>Products</li>,当用户滚动到底部时,加载下一个20,直到加载整个页面.

我之前从未玩过AJAX所以我不确定是否:

  • 当前的设置可以实现
  • 要改善加载时间
  • 影响那些页面的SEO
  • 我已经查看了一些示例和演示,例如这个JQUERY示例 - 但这需要特定的ID等,我不确定这是否会改善页面加载?

    ajax jquery scroll dynamic-loading

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

    添加或减去$(窗口).scrollTop + $(窗口).height == $(document).height() - 滚动到页面底部方程式

    当用户到达页面底部时,我正在运行if函数,就像这样工作得很好

    if($(window).scrollTop() + $(window).height() == $(document).height()) {}
    
    Run Code Online (Sandbox Code Playgroud)

    但是我希望它在底部之前略微运行 - 大约300px之前.

    我试过了

    if($(window).scrollTop() + $(window).height() + 300 == $(document).height()) {}
    
    Run Code Online (Sandbox Code Playgroud)

    if($(window).scrollTop() + $(window).height() == $(document).height() -300) {}
    
    Run Code Online (Sandbox Code Playgroud)

    和所有其他变化无济于事.

    我也试过把变量放进去.

    var plusheight = 300;
    
    if($(window).scrollTop() + $(window).height() + plusheight == $(document).height()) {}
    if($(window).scrollTop() + $(window).height() + $plusheight == $(document).height()) {}
    if($(window).scrollTop() + $(window).height() + "plusheight" == $(document).height()) {}
    
    Run Code Online (Sandbox Code Playgroud)

    我究竟做错了什么?

    javascript jquery

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

    PHP:使用 Zend_Barcode 调整条码的输出大小 | Magento 发票条码

    我第一次使用 Zend_Barcode 框架在 Magento 中生成条形码,目的是将运输条形码添加到发票中。

    该模型看起来相当简单,但我无法更改条形码的大小。

    如果我起诉这种方法:

    $barcodeOptions = array('text' => 'ZEND-FRAMEWORK', 'width'=>400);
    $rendererOptions = array('width'=> 400);
    $renderer = Zend_Barcode::factory(
        'code128', 'image', $barcodeOptions, $rendererOptions
    )->render();
    
    Run Code Online (Sandbox Code Playgroud)

    我最终得到了一个 275 像素的条码,但一个 400 像素宽的图像。即实际可见条码大小与未发送选项相同,但实际图像大小为 400 像素。

    如果我使用 draw 方法也一样。

    $barcodeOptions = array('text' => $barCodeNo, 'width'=> '400', 'height'=> '500'); 
    $rendererOptions = array('width'=> '400', 'height'=> '500'); 
    // Draw the barcode in a new image, 
    $imageResource = Zend_Barcode::draw( 
        'code128', 'image', $barcodeOptions, $rendererOptions 
    ); 
    
    imagejpeg($imageResource);
    
    Run Code Online (Sandbox Code Playgroud)

    除了将大小高度和宽度添加到选项数组中之外,我在文档中找不到任何东西,那么我错过了什么?

    任何帮助,将不胜感激。

    php zend-framework barcode magento

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

    Magento 1.7:通过查询字符串将可配置产品添加到购物车

    Magento Wiki有一个资源,可以通过查询字符串为Magento <1.3 HERE添加产品到购物车

    这引用了一个使用此示例的方法:

    http://www.your_domain.com/checkout/cart/add?product=68&qty=1&super_attribute[528]=55&super_attribute[525]=56
    
    Run Code Online (Sandbox Code Playgroud)

    它还提到这在版本1.3之前是有效的.

    我在1.7中一直在玩这个并注意到1.7中的一个主要区别是表单操作属性的 - > getAddUrl()方法中的加密密钥所以现在URL看起来更像

    http://www.your_domain.com.au/checkout/cart/add/uenc/aHR0cDovL3d3dy5jdWx0dXJla2luZ3MuY29tLmF1L2FjY2Vzc29yaWVzL3NvbC1yZXB1YmxpYy90cmFja3Mtb24tZWFyLWJsYWNrLTM1OTg5Lmh0bWw_X19fU0lEPVU,/product/35900/
    
    Run Code Online (Sandbox Code Playgroud)

    产品ID为35900.

    如果我在浏览器中使用此URL,则会将我引导至产品页面并显示消息 Please specify the product's option(s).

    我一直在尝试在URL中传递所需的属性选项值,以将产品添加到购物车但没有成功.(为了节省空间我省略了URL,包括加密密钥)我尝试过这些方法无济于事:

    /product/35900/super_attribute/49265/4834
    /product/35900/super_attribute/49265=4834
    /product/35900/49265=4834
    /product/35900/49265/4834
    
    Run Code Online (Sandbox Code Playgroud)

    我的问题是:是否可以通过URL将可配置产品添加到Magento中的购物车中,如果是这样,传递super_attribute id和Attribute Option Value的格式是什么?

    magento magento-1.7

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

    如果在单词中找到,则停止.replace()替换相同的字符串

    例如:有一个页面列出了一些带颜色的项目.有些被列为Nav,有些被列为海军.

    $('.ProductDetails a').each(function() {
        var text = $(this).text();
        $(this).text(text.replace("Nav", "Navy")); 
    });
    
    Run Code Online (Sandbox Code Playgroud)

    将导致所有'导航'改为海军 - 太棒了!

    但它也将导致'海军'改为海军.(即它将海军中的'nav'替换为海军,并在'nav'被替换后留下'y')

    有没有办法使用上面的技术来阻止这种情况,或者我必须更改脚本以解决这些双重问题.

    我目前的解决方案是在Nav之后添加一个空格 $(this).text(text.replace("Nav ", "Navy"));

    但这并不理想,因为有些物品可能有一个/后面没有空间.

    javascript regex jquery replace

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