【问题标题】:Magento: Index Management Page Just shows BlankMagento:索引管理页面只显示空白
【发布时间】:2014-04-25 05:55:16
【问题描述】:

后端的索引管理页面只是显示一个空白页面。我没有在管理端使用任何自定义主题,但它没有显示出来。

页面的页眉和页脚以及所有其他内容都在那里,但未显示重新索引表,如图所示。

【问题讨论】:

    标签: magento indexing admin


    【解决方案1】:

    我将 Magento 1.7.02 升级到 1.9.01,我检查了文件,该文件中缺少一些代码

    app\design\adminhtml\default\default\layout\index.xml
    

    我比较了文件,缺少这段代码,所以在 index.xml 的底部添加这个

     <adminhtml_process_list>
        <reference name="content">
          <block type="index/adminhtml_process" name="process" />
      </reference>
    </adminhtml_process_list>
    

    我希望它会显示整个页面不空白。

    【讨论】:

    • 这个解决了我的问题。谢谢!老实说,我不知道法师怎么会错过这样的东西..
    【解决方案2】:

    如果你有GeoIp扩展,你需要改变文件app/code/community/Openstream/GeoIP/etc/config.xml

       <adminhtml>
            <layout>
                <updates>
                    <index>
                        <geoip>
                            <file>openstream/geoip.xml</file>
                        </geoip>
                    </index>
                </updates>
            </layout>
        </adminhtml>
    

    【讨论】:

    • 在我上面的例子中就是这样。 GEOIP 从来没有费心更新他们的 XML,或者我不确定是否有人报告过这个
    • 它适用于我,我已将 Magento 版本 1.6 升级到 1.9 并遇到同样的问题。我的 Magento 安装中也有 GEOIP 扩展。在上述解决方案的帮助下,它已修复 - 谢谢!
    【解决方案3】:

    这可能是由于先前的重新索引意外终止造成的。您可以尝试通过 cmd/terminal 手动重新索引(转到 magento root/shell 并键入 php indexer.php --reindexall),然后再次尝试转到此页面。

    此外,您可以通过编辑 index.php 启用在 magento 中显示的错误 - 取消注释第 77 行并将第 73 行更改为 if (!isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { - 这可能会为您提供有关错误的更多信息

    【讨论】:

      【解决方案4】:

      我找到了解决方案。问题是由扩展引起的。因此,如果有人遇到此问题,请一一禁用您的扩展程序,您会发现导致问题的扩展程序。就我而言,它是 openstream 扩展的 geoip。

      【讨论】:

        【解决方案5】:

        更新到 Magento CE 1.9.2.2 后,我的索引管理页面在页眉和页脚之间也是空白的。以上答案都没有为我解决这个问题。以下是我尝试过的事情:


        尝试 #1: 在“系统 > 配置 > 开发人员”中启用错误日志记录。

        结果:exception.logsystem.log 均为空。


        尝试 #2:index.php 启用 DEVELOPER_MODEini_set('display_errors', 1);

        结果:没有变化。


        尝试 #3:提高.htaccess 文件中的内存限制。

        结果:没有变化。如果页面生成器内存不足,则不应加载页眉/页脚。


        尝试 #4: 禁用所有自定义模块。

        结果:没有变化。


        尝试 #5: 通过 shell 重新索引。

        cd shell
        php indexer.php --reindexall
        

        所有索引似乎都成功了:

        Product Attributes index was rebuilt successfully in 00:00:00
        Product Prices index was rebuilt successfully in 00:00:00
        Catalog URL Rewrites index was rebuilt successfully in 00:00:02
        Category Products index was rebuilt successfully in 00:00:00
        Catalog Search Index index was rebuilt successfully in 00:00:00
        Stock Status index was rebuilt successfully in 00:00:00
        Tag Aggregation Data index was rebuilt successfully in 00:00:00
        

        结果:没有变化。检查索引状态显示所有待处理:

        php indexer.php --status
        

        输出:

        Product Attributes:                 Pending
        Product Prices:                     Pending
        Catalog URL Rewrites:               Pending
        Category Products:                  Pending
        Catalog Search Index:               Pending
        Stock Status:                       Pending
        Tag Aggregation Data:               Pending
        

        我注意到没有列出Product Flat Data Index


        尝试 #6: 截断数据库表 catalog_product_flat_1 并尝试手动强制重新索引:

        php indexer.php --reindex catalog_product_flat
        

        结果:没有变化。也不显示在状态列表中。


        我非常难过。该网站可以正常工作,但什么可能导致索引管理页面加载一半?


        解决方案

        事实证明,自 Magento 1.9.2.x 以来,用于更新的 mage 工具失败了很多,并且可能导致模块不完整或损坏。这就是发生的事情。我不建议再使用这个过程了。

        尝试使用mage 工具从 1.7.0.2 更新到 1.9.2.2 后,2924 个文件不正确。

        这得到了证实,因为我删除了整个文件系统并将其替换为 Magento 1.9.2.2 的新 ZIP。差异准确地显示了 mage 工具未能正确更新的内容。

        我将它保存到一个要点以供参考: https://gist.github.com/brendanfalkowski/257a33516d672ec57e00

        在获得全新(完整)版本的 Magento 1.9.2.2 后,索引管理工作。

        修改了我的现场手册以更新 Magento 以停止推荐 mage 方法:http://manuals.gravitydept.com/platforms/magento/update

        【讨论】:

          【解决方案6】:

          检查System &gt; Configuration &gt; Advanced &gt; Mage_Index下的模块输出没有被禁用

          【讨论】:

          • 已启用。还检查了 /app/etc/modules/Mage_All.xml。那里没有变化。
          • 我依稀记得曾经在这个设置上遇到过一些奇怪的事情。尝试禁用 - 保存配置,然后再次启用并保存配置,看看是否有区别。
          【解决方案7】:

          我遇到了同样的问题,调试了很多东西后发现_afterLoadCollection()函数使用了count()方法,当我们有大量数据时count方法不起作用,我们可以使用getSize代替() 方法。

          我们不能直接编辑 Magento 的核心文件,因为这不是一个好习惯。

          为了快速解决,我们可以在 index.php(root) 文件中添加以下参数。

          ini_set('memory_limit', '1024M');

          如果要调试,请打开下面的文件并找到 _afterLoadCollection() 函数。您可以在其中看到这一行“$item->getUnprocessedEventsCollection()->count()”。

          app\code\core\Mage\Index\Block\Adminhtml\Process\Grid.php

          我认为这些信息可以帮助某人。

          【讨论】:

            猜你喜欢
            • 2019-08-29
            • 1970-01-01
            • 2018-04-23
            • 1970-01-01
            • 1970-01-01
            • 2014-08-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多