2016-10-11 4 views
0

リンクからダウンロードしたソースコードがあり、リンク方法を理解しようとしています。私はhtml、css、jsなどのWebアプリケーションツールに精通していないので、理解するのが難しいです。別のフォルダにhtmlとcssファイルをリンクする

フォルダ構造は

-public_html 
      |_index.html 
      |_home 
        |_controllers 
           |_HomeCtrl.js 
        |_views 
         |_home.html 
        |_module.js 

index.htmlを有する

<html> 
    <head> 
     <title>TODO supply a title</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 

     <!-- Basic Styles --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/bootstrap.min.css"> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/font-awesome.min.css"> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/fonts/line-icons/line-icons.css"> 

     <!-- Bootstrap CSS --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/jasny-bootstrap.min.css"> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/material-kit.css"> 
     <!-- Main Styles --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/main.css"> 
     <!-- custom Styles --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/custom.css"> 
     <!-- Responsive CSS Styles --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/responsive.css"> 
     <!-- Slicknav js --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/slicknav.css"> 
     <!-- Bootstrap Select --> 
     <link rel="stylesheet" type="text/css" media="screen" href="styles/css/bootstrap-select.min.css"> 


     <link rel="shortcut icon" href="styles/img/favicon/favicon.ico" type="image/x-icon"> 
     <link rel="apple-touch-icon" href="styles/img/splash/sptouch-icon-iphone.png"> 
     <link rel="apple-touch-icon" sizes="76x76" href="styles/img/splash/touch-icon-ipad.png"> 
     <link rel="apple-touch-icon" sizes="120x120" href="styles/img/splash/touch-icon-iphone-retina.png"> 
     <link rel="apple-touch-icon" sizes="152x152" href="styles/img/splash/touch-icon-ipad-retina.png"> 

     <!-- iOS web-app metas : hides Safari UI Components and Changes Status Bar Appearance --> 
     <meta name="apple-mobile-web-app-capable" content="yes"> 
     <meta name="apple-mobile-web-app-status-bar-style" content="black"> 

     <!-- Startup image for web apps --> 
     <!-- 
     <link rel="apple-touch-startup-image" href="styles/img/splash/ipad-landscape.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)"> 
     <link rel="apple-touch-startup-image" href="styles/img/splash/ipad-portrait.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)"> 
     <link rel="apple-touch-startup-image" href="styles/img/splash/iphone.png" media="screen and (max-device-width: 320px)"> 
     --> 
    </head> 
    <body> 
     <div><?php include('/app/home/views/home.html'); ?></div> 

    </body> 
</html> 

HomeCtrl.jsある

'use strict'; 

angular.module('app.home').controller('HomeController', function ($scope) { 


}); 

home.html有するが

<!-- Start intro section --> 
<section id="intro" class="section-intro"> 
    <div class="overlay"> 
    <div class="container"> 
     <div class="main-text"> 
     <h1 class="intro-title">Welcome To <span ><strong>Test</strong>Page</span></h1> 
     <p class="sub-title">Search for property, jobs and more</p> 

     <!-- Start Search box --> 
     <div class="row row-centered"> 
      <div class="search-bar col-centered"> 
      <div class="advanced-search"> 
       <div class="row row-centered"> 
        <div class="col-md-6 col-sm-6 col-xs-12 col-centered"> 
        <button class="btn btn-common btn-search btn-block"><strong>Model</strong></button> 
        </div> 
        <div class="col-md-6 col-sm-6 col-xs-12 col-centered"> 
        <button class="btn btn-common btn-search btn-block"><strong>Actress</strong></button> 
        </div> 
       </div> 
       <form class="search-form" method="get"></form> 
      </div> 
      <!-- </form> --> 
      </div> 
     </div> 
     <!-- End Search box --> 
     </div> 
    </div> 
    </div> 
</section> 
<!-- end intro section --> 

<div class="wrapper"> 
    <!-- Categories Homepage Section Start --> 
    <section id="categories-homepage"> 
    <div class="container"> 
     <div class="row"> 
     <div class="col-md-12"> 
      <h3 class="section-title">Browse Ads from 8 Categories</h3> 
     </div>   
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-1 wow fadeInUpQuick" data-wow-delay="0.3s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-store color-1"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
       <div class="category-body"><h3 class="col-centered">Lady</h3></div> 

      </div> 
      </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-5 wow fadeInUpQuick" data-wow-delay="1.5s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-briefcase color-5"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
        <div class="category-body"><h3 class="col-centered">Business</h3></div> 
      </div> 
      </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-6 wow fadeInUpQuick" data-wow-delay="1.8s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-graduation-hat color-6"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
        <div class="category-body"><h3 class="col-centered">Men</h3></div> 
      </div> 
      </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-7 wow fadeInUpQuick" data-wow-delay="2.1s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-apartment color-7"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
        <div class="category-body"><h3 class="col-centered">Kids</h3></div> 
      </div> 
      </div> 
     </div>    
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-8 wow fadeInUpQuick" data-wow-delay="2.3s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-car color-8"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
        <div class="category-body"><h3 class="col-centered">Travel</h3></div> 
      </div> 
      </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-2 wow fadeInUpQuick" data-wow-delay="0.6s"> 
      <div class="icon"> 
       <a href="#"><i class="fa fa-laptop fa-5x color-2" aria-hidden="true"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
       <div class="category-body"><h3 class="col-centered">Actors</h3></div> 
      </div> 
      </div> 
     </div> 
      <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-4 wow fadeInUpQuick" data-wow-delay="1.2s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-cart color-4"></i></a> 
      </div> 
      <div class="category-header"> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
        <div class="category-body"><h3 class="col-centered">Shopping</h3></div> 
      </div> 
      </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <div class="category-box border-3 wow fadeInUpQuick" data-wow-delay="0.9s"> 
      <div class="icon"> 
       <a href="#"><i class="lnr lnr-cog color-3"></i></a> 
      </div> 
      <div class="category-header "> 
       <a href="#"></a> 
      </div> 
      <div class="category-content row-centered"> 
        <div class="category-body"><h3 class="col-centered">Services</h3></div> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    </section> 
    <!-- Categories Homepage Section End --> 
</div> 

<!-- Counter Section Start --> 
<section id="counter"> 
    <div class="container"> 
    <div class="row"> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
     <div class="counting wow fadeInDownQuick" data-wow-delay=".5s"> 
      <div class="icon"> 
      <span> 
       <i class="lnr lnr-tag"></i> 
      </span> 
      </div> 
      <div class="desc"> 
      <h3 class="counter">12090</h3> 
      <p>Regular Ads</p> 
      </div> 
     </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
     <div class="counting wow fadeInDownQuick" data-wow-delay="1s"> 
      <div class="icon"> 
      <span> 
       <i class="lnr lnr-map"></i> 
      </span> 
      </div> 
      <div class="desc"> 
      <h3 class="counter">350</h3> 
      <p>Locations</p> 
      </div> 
     </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
     <div class="counting wow fadeInDownQuick" data-wow-delay="1.5s"> 
      <div class="icon"> 
      <span> 
       <i class="lnr lnr-users"></i> 
      </span> 
      </div> 
      <div class="desc"> 
      <h3 class="counter">23453</h3> 
      <p>Reguler Members</p> 
      </div> 
     </div> 
     </div> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
     <div class="counting wow fadeInDownQuick" data-wow-delay="2s"> 
      <div class="icon"> 
      <span> 
       <i class="lnr lnr-license"></i> 
      </span> 
      </div> 
      <div class="desc"> 
      <h3 class="counter">150</h3> 
      <p>Premium Ads</p> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div> 
</section> 
<!-- Counter Section End --> 
01を有しています

module.js私はindex.htmlを内部で体内にhome.htmlのすべての内容をコピーし、含まれている場合、私はホームページを見ることができます

"use strict"; 


angular.module('app.home', ['ui.router']) 
.config(function ($stateProvider) { 

    $stateProvider 
     .state('app.home', { 
      url: '/home', 
      data: { 
       title: 'Blank' 
      }, 
      views: { 
       "[email protected]": { 
        templateUrl: 'app/home/views/home.html', 
        controller: 'HomeController' 
       } 
      } 
     }) 
}); 

を持っています。 しかし、ファイル名を含めるだけです<div><?php include(); ?></div> 私は含めようとしました<div><?php include(/home/views/home.html); ?></div> しかし、何も出ていません。

誰かが私に説明でき

(1)分割コントローラなどのフォルダ、および家庭内のビューの利点は何ですか?

(2)これらのjsファイル、HomeCtrl.js、module.jsの目的は何ですか?

(3)index.htmlからhome.htmlを呼び出す方法は?

おかげ

EDIT1: は、私は別のファイルapp.jsを持っており、それが

'use strict'; 

/** 
* @ngdoc overview 
* @name app [smartadminApp] 
* @description 
* # app [smartadminApp] 
* 
* Main module of the application. 
*/ 

var app = angular.module('app', [ 
    'ngSanitize', 
    'ngAnimate', 

    'restangular', 
    'ui.router', 
    'ui.bootstrap', 

    // Smartadmin Angular Common Module 
    'SmartAdmin', 

    // App 
    'app.auth', 
    'app.layout', 
    'app.consumers', 
    //'app.chat', 
    //'app.dashboard', 
    //'app.calendar', 
    //'app.inbox', 
    //'app.graphs', 
    //'app.tables', 
    //'app.forms', 
    //'app.ui', 
    //'app.widgets', 
    //'app.maps', 
    //'app.appViews', 
    //'app.misc', 
    //'app.smartAdmin', 
    //'app.eCommerce' 
    'app.home' 
]) 
    .config(function ($provide, $httpProvider, RestangularProvider) { 


     // Intercept http calls. 
     $provide.factory('ErrorHttpInterceptor', function ($q) { 
      var errorCounter = 0; 
      function notifyError(rejection) { 
       console.log(rejection); 
       $.bigBox({ 
        title: rejection.status + ' ' + rejection.statusText, 
        content: rejection.data, 
        color: "#C46A69", 
        icon: "fa fa-warning shake animated", 
        number: ++errorCounter, 
        timeout: 6000 
       }); 
      } 

      return { 
       // On request failure 
       requestError: function (rejection) { 
        // show notification 
        notifyError(rejection); 

        // Return the promise rejection. 
        return $q.reject(rejection); 
       }, 

       // On response failure 
       responseError: function (rejection) { 
        // show notification 
        notifyError(rejection); 
        // Return the promise rejection. 
        return $q.reject(rejection); 
       } 
      }; 
     }); 

     // Add the interceptor to the $httpProvider. 
     $httpProvider.interceptors.push('ErrorHttpInterceptor'); 

     RestangularProvider.setBaseUrl(location.pathname.replace(/[^\/]+?$/, '')); 

    }) 
    .constant('APP_CONFIG', window.appConfig) 

    .run(function ($rootScope 
     , $state, $stateParams) { 
     $rootScope.$state = $state; 
     $rootScope.$stateParams = $stateParams; 

     // editableOptions.theme = 'bs3'; 

    }); 
var httpApiConfig = { 
    headers: { 
     'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;', 
     headers: { 'Content-Type': 'application/json' }, 
    } 
}; 
app.constant('httpApiConfig', httpApiConfig) 
+0

これは、webappはangularjs 1.xに基づいています。回答のためのドキュメント(https://angularjs.org/)を読むことをお勧めします。コード内のすべてのフォルダについては、プロジェクトコードのベースが特定のサイズを超えている場合は、ソースコードに構造を持たせるのが一般的には良い方法です。あなたのプロジェクトをどのように構造化するかは、ほとんどあなた次第です。 (ほとんどの場合、縮小されたアプリケーションを作成するために使用されたツールやCSSが使用されていると、特定のフォルダ構造が予想されるため)。 –

+0

https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm –

+0

'home.html'のリンクに問題がある場合は、' <?php echo getcwd();現在の作業ディレクトリを取得するには?> –

答えて

1

1を持っている - コントローラ、および家庭内のビューとしてフォルダを分割することの利点は何ですか?

階層の目標は持っていることです(あなたが欲しい欲しいんほとんどすることができます):

  • モジュール/
    • コントローラ/
    • ビュー/

よくあるパターンですが、MVC 'Module/View/Controを検索しようとしていますller '

2 - これらのjsファイル、HomeCtrl.js、module.jsの目的は何ですか?あなたがここmodule.jsAngularJS

を学ばなければならない

はまた、このモジュールのルーティングを含むモジュールHome のための設定ファイルです。

そしてHomeCtrl.js、それはここにあるコントローラは、あなたとあなたのdataUI

3の間のロジックを配置する必要がありますされて - のindex.htmlからhome.htmlを呼び出すためにどのように?あなたは<script>タグ であなたのJSファイルのすべてをロードする必要が

まずあなたの体は、この

<body ng-app="app"> 
    <div ui-view="content"></div> 

    <!-- put below all of you js files --> 
    <!-- angular.js/main.js /app.js/controllerFiles.js etc ... --> 
</body> 
+0

ありがとうございます。この場合、index.htmlからhome.htmlをどのように呼び出すべきですか? – batuman

+0

PHPで読み込むことはできません、あなたは角度でロードする必要があります。 このような 'app.js'などありますか? –

+0

はい私はapp.jsとmain.jsを持っています – batuman

1

のようなもののように見えるにしていますが、関数名に応じて、angularJSを使用しているようです。

モデル/ビュー/コントローラは、プログラマー/デザイナーが、彼らが最もよくいるものに集中できる方法です。システム内のすべてを知る必要はありません。 修正と開発を行う。 、IN

BRIEF

モデル/コントローラ(MVC用語は、既に説明をたくさん持っているので、常に正確ではない):バックエンド(サーバー側)のものを。 表示:ユーザーが実際に表示するインターフェイスを設計します。これは、コントローラによって提供されるバリアントおよび情報を表示したり、ユーザ入力をコントローラに渡して何かを行う。この場合

彼らはちょうど彼らのHTML/CSS/JS内のタグを追加するデータベースから何かを必要とするとき、

Webデザイナーは、UIとCSSの部品を行う必要があります。

対照的に、コード/バックエンドの開発者は、美しいUIを構築する方法を気にする必要はありませんが、フロントエンドに必要な文字列を出力するだけに集中する必要があります。

"Model-view-controller"に関連する記事を読むと、その理由とその理由をよりよく理解するのに役立ちます。

1

さて、私はあなたにお答えしますが、答えの一部をリンクとして提供します。本当に必要なのは、被験者について少し読むことだからです。

まず、index.htmlをindex.phpに変更し、必要に応じてタグを変更します。サーバーは、htaccessファイルを変更しない限り、htmlファイルにhtaccessを入れたときにそれを認識しませんが、代わりにphpファイルにしてください。

コードをさまざまなフォルダ/クラスに分割する利点は、MVCアーキテクチャを知っている人(fx wikipediaのイントロを見つけることができます)で、どの機能が配置されているのかが分かりやすくなります。私の意見では、itの基本を学ぶ好意をあなた自身がしています。もともとJavaのために開発されたもので、Web開発での使用は多少議論の余地があります。 MVCアーキテクチャ/パターンは、低結合と高結合を容易にするのにも役立ちます。

.jsファイルとは...最初はAngularを使用していたようです。js(フレームワーク)ですが、私が期待していたインクルードを見つけることができません。しかし、Angularを使用することについて少し勉強したい場合は、hereとすることができます。

+0

ありがとう、私はリンクを提供していただきありがとうございます。 – batuman

関連する問題