Twitter bootstrap 如何在没有命令行(cPanel)的情况下安装CakePHP 3、引导和引导平台

Twitter bootstrap 如何在没有命令行(cPanel)的情况下安装CakePHP 3、引导和引导平台,twitter-bootstrap,cakephp,Twitter Bootstrap,Cakephp,这并不是一个问题,更多的是我做了一系列的笔记,让CakePHP 3、Bootstrap和Bootflat风格在一个共享主机环境中工作,在没有SSH访问的情况下运行cPanel。这可能不是最好的方法(也许人们可以提出改进建议?),但它对我有效 是的,我本可以(最初确实)使用composer在本地开发机器上完成这一切,但这本身就是一项任务(MAMP没有本机intl,安装过程需要xCode,它很快就失去了控制),所以我想知道如何在不需要这样做的情况下让一切正常工作。初始设置 在cPanel上创建域并检

这并不是一个问题,更多的是我做了一系列的笔记,让CakePHP 3、Bootstrap和Bootflat风格在一个共享主机环境中工作,在没有SSH访问的情况下运行cPanel。这可能不是最好的方法(也许人们可以提出改进建议?),但它对我有效

是的,我本可以(最初确实)使用composer在本地开发机器上完成这一切,但这本身就是一项任务(MAMP没有本机intl,安装过程需要xCode,它很快就失去了控制),所以我想知道如何在不需要这样做的情况下让一切正常工作。

初始设置
  • 在cPanel上创建域并检查它是否正常工作(例如,您在上获得目录列表)
  • 使用cpanel创建包含应用程序的子文件夹或子域(例如)
  • 下载要使用的版本(例如),并在本地计算机上解压缩(确保下载的是存档版本,而不是“版本”。存档版本包含webroot目录、index.php和zip文件中其他重要文件,而该版本没有。)
  • 使用FTP(例如FileZilla),将zip的内容上载到您先前创建的应用程序目录中
  • 尝试该站点,但可能会出现错误500服务器错误
  • 如果出现错误,请在cPanel中单击“选择PHP版本”,将其更改为5.6并启用intl扩展,然后单击保存
  • 到现在为止,该站点应该会给您一条消息,说明cake正在工作,但您将收到一个错误,即无法连接到数据库
  • 在cPanel中,单击MySQL数据库并创建一个数据库和一个对该数据库具有完全访问权限的用户
  • 使用与FTP兼容的文本编辑器(例如TextWrangler、Notepad++)登录FTP站点并编辑文件config/app.php(位于您之前创建的目录中)。在该文件中,找到数据库部分,并根据上一步中的信息替换用户名、密码和数据库字段。现在加载站点时应该没有错误
  • 出于安全考虑,现在正是使用文本编辑器调整config/app.php中的salt值并使用新的随机生成值(例如从)的好时机
  • 让引导程序工作起来
  • 下载并解压缩CakePHP 3的bootstrap ui版本(例如),将其解压缩并将内容FTP到插件目录plugins/BootstrapUI/中名为BootstrapUI的新目录中/(注意,此目录的资本化非常重要)。请注意,自动安装的插件通常会进入供应商目录,我们在手动安装插件时不会这样做
  • 将这一行添加到core/bootstrap.php(请注意,名为bootstrap.php的配置文件和名为bootstrap的插件只是巧合):
    plugin::load('BootstrapUI',['autoload'=>true])
  • 编辑文件src/View/AppView.php以包括以下内容(在类定义之前保留任何名称空间或使用说明):

  • 使用FTP程序,将文件从plugins/bootstrap ui/src/Template/Layout/examples(或直接从解压缩的zip上传)复制到新目录src/Template/Layout/TwitterBootstrap
  • 现在我们需要安装引导资产。下载并解压缩引导分布(例如)
  • 使用FTP,在app/webroot/css中创建一个名为bootstrap的目录,并从bootstrap zip的css目录上载文件
  • 在app/webroot/css中创建一个名为字体的目录,并从zip的字体目录上载文件(注意字体目录直接位于css目录中,而不是css/bootstrap子目录)
  • 在app/webroot/js中创建一个名为bootstrap的目录,并从bootstrap zip的js目录上载文件
  • 现在我们需要jquery。下载并添加jquery文件(例如和),并将其上载到新目录app/webroot/js/jquery中
  • 此时,您现在可以创建数据库表、实体文件、表文件、控制器文件和模板文件,并且在视图中可以使用引导css元素。然而,关于bootstrap ui项目如何最好地格式化模板的文档很少。为此,“烘焙”模板最适合制作必要的文件,但需要命令行(这是您没有的,也是您阅读本文的原因)。为了您的利益,基于一个名为“users”的虚拟表(其中包含一个id、一个电子邮件地址和一个密码字段),我将把这篇文章链接到一些您可以上传的预烘焙实体、表、控制器和模板文件
  • 您现在应该有一个非常简单的create、read、update和delete(CRUD)应用程序,它使用漂亮的引导接口元素
  • 开始工作
  • 现在是应用bootflat样式的问题。首先下载bootflat框架(例如),将其解压缩,然后将bootflat/bootflat/css中的文件上载到新目录webroot/css/bootflat中(请注意,要上载的正确文件位于zip的bootflat子目录中,称为bootflat.css、bootflat.css.map和bootflat.min.css,而不是包含site.css等的zip根目录中的css目录)
  • 为了让bootflat.css文件覆盖bootstrap.css的必要样式,我们需要调整bootstrap插件目录中的默认布局,但是修改插件文件目录不是一个好主意/模板/Layout/Bootflat/default.ctp
  • 现在编辑src/View/AppView.php并将$layout行更改为
    public$layout='Bootflat/default';
    因此CakePHP使用src版本而不是插件版本(当前具有相同的内容)
  • 您的CRUD应用程序应该是
    class AppView extends View
    {
        public $layout = 'BootstrapUI.default';
    
        public function initialize()
        {
            $this->loadHelper('Html', ['className' => 'BootstrapUI.Html']);
            $this->loadHelper('Form', ['className' => 'BootstrapUI.Form']);
            $this->loadHelper('Flash', ['className' => 'BootstrapUI.Flash']);
            $this->loadHelper('Paginator', ['className' => 'BootstrapUI.Paginator']);
        }
    }
    
    echo $this->Form->input('amount', [
        'templates' => [
            'inputContainer' => '<div class="input-group form-group {{type}}{{required}}"><span class="input-group-addon">$</span>{{content}}<span class="input-group-addon">.00</span></div>',
            'inputContainerError' => '<div class="input-group form-group {{type}}{{required}} error"><span class="input-group-addon">$</span>{{content}}{{error}}<span class="input-group-addon">.00</span></div>'
        ],
        'class' => 'form-control',
        'label' => false,
        'placeholder' => 'Amount',
    ]);