লারাভেল দর্শনে সিএসএস ব্যবহার করছেন?


108

আমি সবেমাত্র লারাভেল শিখতে শুরু করেছি এবং একটি নিয়ামক এবং রাউটিংয়ের প্রাথমিক বিষয়গুলি করতে পারি।

আমার ওএস হ'ল ম্যাক ওএস এক্স লায়ন এবং এটি এমএএমপি সার্ভারে রয়েছে।

আমার কোডগুলি রুটস.এফপি থেকে:

Route::get('/', function() {
    return View::make('home.index');
});

Route::get('businesses', function() {
    return View::make('businesses.index');
});

Route::get('testing', function() {
    return View::make('testing.index');
});        

Route::get('hello', function() {
    return "<h3>Hello world!</H3>";
});

এটি কাজ করে, দর্শনগুলি পুরোপুরি প্রদর্শন করে, '' তবে '' আমি যা করতে চাই এবং করতে চাই তা ভিউয়ের মধ্যে সিএসএস অন্তর্ভুক্ত করা হয়, আমি ডিরেক্টরিতে স্টাইলশিটের লিঙ্কে যুক্ত করার চেষ্টা করি তবে পৃষ্ঠাটি এটি ডিফল্ট ব্রাউজারের ফন্ট হিসাবেও প্রদর্শিত হয় যদিও সিএসএস এইচটিএমএল ছিল!

এটি ভিউ ফোল্ডারের মধ্যে ব্যবসায়ের সূচক।

<head>
   <link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

<p>Business is a varied term. My content here.

আমি সিএসএস প্রদর্শন করতে আমার অন্যান্য ভিউ ফোল্ডারে (টেস্টিং) ব্লেড টেম্পলেট ইঞ্জিনটি ব্যবহার করার চেষ্টা করেছি কিন্তু টেস্টিং ফোল্ডারে থাকা সত্ত্বেও সিএসএস আর প্রদর্শিত হয়নি!

আমি কীভাবে এই সমস্যাটি কাটিয়ে উঠতে পারি এবং আরও ভাল হতে পারি - কারণ আমি ধীরে ধীরে এই কাঠামোটি শিখছি।


আপনি কী লারাভেল সংস্করণটি ব্যবহার করছেন?
কালো

5
{{ URL::asset('css/css.css') }}
বিষালকনশীদ

উত্তর:


156

আপনার সম্পদগুলি সর্বজনীন ফোল্ডারে রাখুন

public/css
public/images
public/fonts
public/js

এবং তারা এটিকে লারাভেল ব্যবহার করে ডেকেছে

{{ HTML::script('js/scrollTo.js'); }}

{{ HTML::style('css/css.css'); }}

2
সিএসএসকে @ সেকশন বা কোনও কিছুতে কল করবেন না, যদি আপনি ব্লেড ব্যবহার করেন তবে আমার জন্য কাজ করেছেন!
তারকা

3
সিনট্যাক্সটি কাজ করতে আপনাকে ব্লেড ব্যবহার করতে হবে। আপনি যদি ব্লেড ব্যবহার না করে থাকেন তবে আপনার সাথে যেতে হবে: <? পিএইচপি প্রতিধ্বনি এইচটিএমএল :: স্টাইল ('সিএসএস / কমন সিএসএস');?>
নিকোলাস ক্রেইডবার্গ

6
লারাভেল ৫.০-এর ক্ষেত্রে এটি এখন ভিন্ন, যেখানে আলোকিত / এইচটিএমএল প্যাকেজটি আর ডিফল্ট লারাকাস্টস / সেরিজ / ল্যারাভেল -5 -ফান্ডামেন্টালস / অ্যাপিসোড / 10 দ্বারা অন্তর্ভুক্ত করা হয়নি
বিবরণে

1
এটি যদি আপনার পক্ষে কাজ করে না, তবে এখানে আমার জন্য যা কাজ করেছে তা এখানে: stackoverflow.com/questions/15232600/…
ড্যান ক্লস

1
আমার জন্যও কাজ করে না। মারাত্মক ত্রুটি: শ্রেণি 'এইচটিএমএল' পাওয়া যায় নি
জিওএডসিক

56

আপনার সম্পদগুলি সর্বজনীন ফোল্ডারে রাখুন

public/css
public/images
public/fonts
public/js

এবং তারপরে লারাভেল ব্যবহার করে এটি ডেকে আনি

{{ URL::asset('js/scrollTo.js'); }} // Generates the path to public directory public/js/scrollTo.js

{{ URL::asset('css/css.css'); }}   // Generates the  path to public directory public/css/css.css

(বা)

{{ HTML::script('js/scrollTo.js'); }} // Generates the  path to public directory public/js/scrollTo.js

{{ HTML::style('css/css.css'); }} // Generates the path to public directory public/css/css.css

ইউআরএল :: সম্পদ () অন্তর্নির্মিত যেখানে এইচটিএমএল :: স্টাইল () এর একটি প্যাকেজ দরকার
ওমরজেবাড়ি

আপনি এই উত্তরটি কোথায় কল করতে পারেন দয়া করে আপনার উত্তরে যুক্ত করতে পারেন {{ URL::asset('js/scrollTo.js'); }}? আপনি কি একটি উদাহরণ দিতে পারেন?
রমেশ পরিক

43

আপনার সিএসএস ফাইলটি সর্বজনীন ফোল্ডার বা এর একটি সাবফোল্ডারের অন্তর্গত।

ফে আপনি যদি আপনার সিএসএস ভিতরে রাখেন

public/css/common.css

আপনি ব্যবহার করতে হবে

HTML::style('css/common.css');

আপনার ফলক দৃশ্যে ...

অথবা আপনি সম্পদ শ্রেণি http://laravel.com/docs/views/assets ব্যবহার করতে পারেন ...


নাহ, এটি কোনও পার্থক্য করে না। আমি সেই ডিরেক্টরিগুলিতে থাকা ব্রাউজারের মাধ্যমে কিছু অ্যাক্সেস করতে পারি না ...
dcolumbus

@ ডকোলম্বাস যদি আপনি প্রাপ্ত 404 টি লারাভেল (যেমন সার্ভারের ডিফল্ট নয়) দ্বারা উত্পন্ন হয়, তবে আপনি আপনার .htaccess এ নিম্নলিখিত লাইনটি হারিয়ে যাচ্ছেন (ধরে নিচ্ছেন আপনি অ্যাপাচি ব্যবহার করছেন): "রিরাইটকন্ড% {REQUEST_FILENAME F! -f "। সেই লাইনটি সূচীপথের একের ওপরে যেতে হবে এবং ফাইল সিস্টেমে থাকা পাথগুলিতে অনুরোধগুলি লারাভেলের রাউটিং সিস্টেম দ্বারা পরিচালিত হওয়া থেকে রোধ করবে। যদি প্রাপ্ত 404 লারাভেল দ্বারা উত্পাদিত না হয় তবে .htaccess প্রক্রিয়া করার জন্য আপনার অ্যাপাচি কনফিগারেশনে আপনাকে "AllowOverride All" যুক্ত করতে হবে (আরও তথ্যের জন্য অ্যাপাচি ডক্স দেখুন)।
tjbp

তিনি বলেছিলেন যে তিনি সিএসএস ফাইলগুলি ভিউ ফোল্ডারের ভিতরে রাখতে চান, পাবলিক ফোল্ডার নয়, সম্পদ () এবং এইচটিএমএল :: শৈলী / এইচটিএমএল :: স্ক্রিপ্ট সমস্ত পয়েন্ট পাবলিক ডিরেক্টরিতে দেখায়, লারাভেল অ্যাপ ফোল্ডারের অভ্যন্তরের কিছু হতে দেয় না সুরক্ষার উদ্দেশ্যে বাইরের বিষয়ে অ্যাক্সেস করা হয়েছে। সুতরাং index.php থাকলেও সে কী চায় তাতে কিছু আসে যায় না।
ব্রায়ান পি

26

আপনি সাধারণভাবে হিসাবে একটি লিঙ্ক ট্যাগ লিখতে পারেন এবং তারপরে href attr ব্যবহারে:

<link rel="stylesheet" href="<?php echo asset('css/common.css')?>" type="text/css"> 

অবশ্যই আপনার সিএসএস ফাইলটি পাবলিক / সিএসএসের আওতায় রাখা দরকার


@ ডকোলম্বাস ৪০৪ সম্ভবত ভুল পথ দেওয়ার কারণে, উপসর্গ / পাবলিক যুক্ত করার চেষ্টা করুন /, লারাভেল ডিফল্টের উপসর্গ / পাবলিক / / প্রজাতন্ত্র / সিএসএস / কমোন.সিএস আছে
ডেভিড ভ্যালেন্টিনো

23

আমরা নিম্নলিখিত পদ্ধতিতে এটি করতে পারি।

<link href="{{ asset('/css/style.css') }}" rel="stylesheet">

{{ HTML::style('css/style.css', array('media' => 'print')) }}

এটি লারাভেলের পাবলিক ফোল্ডারে স্টাইল ফাইলটি অনুসন্ধান করবে এবং তারপরে এটি রেন্ডার করবে।


1
শীতল আহমদ, আপনি http <লিঙ্ক href = "{{{সম্পদ ('/ সিএসএস / শৈলী। CSS')}}}" rel = "স্টাইলশিট"> এর উপরে স্টাইল-শিট লিঙ্ক করলে এটি দুর্দান্ত কাজ করবে তবে আপনি যদি ব্যবহার করছেন httpsতবে অনুরোধটি অবরুদ্ধ করা হবে এবং একটি মিশ্র সামগ্রীর ত্রুটি আসবে, https এ ব্যবহার করতে আপনাকে secure_asset<লিঙ্ক href = "{{{সুরক্ষিত_সেট ('/ সিএসএস / স্টাইল.css')}}}" rel = "স্টাইলশিট" ব্যবহার করতে হবে > লারাভেল.ডোকস
পান্ডে

শুধুমাত্র 2 বন্ধনী প্রয়োজন - 3 নয়
ওলেগ আবরাজাইভ

আপনি যদি লারাভেল 5 এর জন্য এই সমাধানটি ব্যবহার করেন তবে আপনাকে লারাভেলকলেক্টিভ ফর্মগুলি এবং এইচটিএমএল সরবরাহকারী ইনস্টল করতে হবে। দেখুন: নির্দেশাবলীর জন্য লারাভেলকোলেক্টিভ / ডকস / ৫.৪ / এইচটিএমএল । আপনি কম্পোজারজেডসন আপডেট করার পরে "সুরকার আপডেট" চালাতে ভুলবেন না।
আসিমভ

15

আহমদ শরীফ যেমন উল্লেখ করেছেন, আপনি স্টাইলশিটটি লিঙ্ক করতে পারেন http

<link href="{{ asset('/css/style.css') }}" rel="stylesheet"> 

তবে আপনি যদি ব্যবহার করছেন httpsতবে অনুরোধটি ব্লক হয়ে যাবে এবং একটি মিশ্র সামগ্রীর ত্রুটি আসবে, এটি https ব্যবহারের secure_assetমতো ব্যবহার করতে

<link href="{{ secure_asset('/css/style.css') }}" rel="stylesheet">

https://laravel.com/docs/5.1/helpers#method-secure-asset


2
শুধু 2 বন্ধনী প্রয়োজন হয় - 3. না
Radmation

আমি আমার সিএসএস, জেএস ফাইল কোথায় রাখি? হয় public/cssবাresources/assets/css
নবীনদা

10

লারাভেল 5 যেহেতু HTMLক্লাসটি আর ডিফল্টরূপে অন্তর্ভুক্ত নয়।

আপনি যদি ফর্ম বা এইচটিএমএল সহায়তাকারী ব্যবহার করছেন তবে ক্লাস 'ফর্ম' পাওয়া যায়নি বা শ্রেণি 'এইচটিএমএল' পাওয়া যায়নি বলে একটি ত্রুটি দেখতে পাবেন। ফর্ম এবং এইচটিএমএল সহায়তাকারীদের লারাভেল ৫.০ এ অবহেলা করা হয়েছে; তবে সম্প্রদায়-চালিত প্রতিস্থাপন রয়েছে যেমন লারাভেল কালেক্টিভ দ্বারা রক্ষণাবেক্ষণ করা হয়।

আপনার সিএসএস বা জেএস ফাইলগুলি অন্তর্ভুক্ত করতে আপনি নিম্নলিখিত লাইনটি ব্যবহার করতে পারেন:

<link href="{{ URL::asset('css/base.css') }}" rel="stylesheet">
<link href="{{ URL::asset('js/project.js') }}" rel="script">

2
আমি মনে করি এই উত্তরটি উচ্চতর হওয়া উচিত কারণ এইচটিএমএল শ্রেণি অবচিত হওয়ায় এটি পছন্দিকৃত উপায় বলে মনে হচ্ছে।
অসিমভ 22

7

লারাভেল 5.4 ---- এর জন্য আপডেট

সমস্ত উত্তর লারাভেলের জন্য এইচটিএমএল ক্লাস ব্যবহার করেছে তবে আমার ধারণা এটি এখন লার্যাভেল 5.4 এ অবমূল্যায়ন করা হয়েছে, সুতরাং আপনার সিএসএস এবং জেএস ফাইলগুলিকে পাবলিক-> সিএসএস / জেএসে রাখুন এবং এগুলি আপনার এইচটিএমএল-এ ব্যবহার করে রেফারেন্স করুন

<link href="css/css.common.css" rel="stylesheet" >

এটি লারাভেল <লিঙ্ক href = "CSS / সাধারণ.css" rel = "স্টাইলশীট"> css.common.css এ ভাল কাজ করছে
উধব সরভাইয়া

5

এটি সম্ভব নয় ভাই, লারাভেল ধরে নেয় যে সমস্ত কিছু পাবলিক ফোল্ডারে রয়েছে।

সুতরাং আমার পরামর্শটি হ'ল:

  1. সর্বজনীন ফোল্ডারে যান ।
  2. একটি ফোল্ডার তৈরি করুন, পছন্দসই নাম সিএসএস
  3. জিনিসগুলিকে সংগঠিত করতে সংশ্লিষ্ট দর্শনগুলির জন্য ফোল্ডারটি তৈরি করুন।
  4. এই ফোল্ডারগুলির মধ্যে সংশ্লিষ্ট সিএসএস রাখুন, এটি আপনার পক্ষে সহজ হবে।

অথবা

আপনি যদি সত্যিই ভিউ ফোল্ডারের সিএসএসের ভিতরে putোকানোর জন্য জোর দিয়ে থাকেন তবে আপনি সিমলিংক তৈরি করার চেষ্টা করতে পারেন (আপনি ম্যাক তাই এটি ঠিক আছে, তবে উইন্ডোগুলির জন্য, এটি কেবল ভিস্তা, সার্ভার ২০০৮ বা তারও বেশি ক্ষেত্রে কাজ করবে) আপনার সিএসএস ফোল্ডার ডিরেক্টরি থেকে জনসাধারণের কাছে ফোল্ডার এবং আপনি {{HTML::style('your_view_folder/myStyle.css')}}নিজের ভিউ ফাইলগুলির অভ্যন্তরে ব্যবহার করতে পারেন , আপনার পোস্ট করার কোডটিতে আপনার সুবিধার জন্য এখানে একটি কোড রয়েছে return View::make():

$css_file = 'myStyle.css';
$folder_name = 'your_view_folder';
$view_path = app_path() . '/views/' . $folder_name . '/' . $css_file;
$public_css_path = public_path() . '/' . $folder_name;
if(file_exists($public_css_path)) exec('rm -rf ' . $public_css_path);
exec('mkdir ' . $public_css_path);
exec('ln -s ' . $view_path .' ' . $public_css_path . '/' . $css_file);

আপনি যদি সত্যিই আপনার ধারণাটি চেষ্টা করে দেখতে চান তবে এটি ব্যবহার করে দেখুন:

<link rel="stylesheet" href="<?php echo app_path() . 'views/your_view_folder/myStyle.css'?>" type="text/css">

ফাইল ডিরেক্টরি সঠিক থাকলেও এটি কাজ করবে না কারণ সুরক্ষা উদ্দেশ্যে লারাভেল এটি করবে না, লারাভেল আপনাকে অনেক বেশি ভালবাসে।


5

আমার মতে সিএসএস ও জেএসে যাত্রার সর্বোত্তম বিকল্পটি নিম্নলিখিত কোডগুলি ব্যবহার করুন:

<link rel="stylesheet" type="text/css" href="{{ URL::to('route/to/css') }}">

সুতরাং আপনার যদি পাবলিক ফোল্ডারে সিএসএস ফোল্ডারের ভিতরে মেইন সিএসএস নামে সিএসএস ফাইল থাকে তবে এটি নিম্নলিখিত হওয়া উচিত:

<link rel="stylesheet" type="text/css" href="{{ URL::to('css/main.css') }}">

4

আপনার সিএসএস ফাইলটিকে সর্বজনীন ফোল্ডারে রাখুন। (সর্বজনীন / সিএসএস / বুটস্ট্র্যাপ-প্রতিক্রিয়াশীল। CSS) এবং<link href="./css/bootstrap-responsive.css" rel="stylesheet">


দুর্দান্ত, এটি কাজ করে! কিন্তু এখানেই মধ্যে কোনো পার্থক্য নেই <link href="./css/bootstrap-responsive.css" rel="stylesheet">এবং<link href="{{ url('/') }}./css/bootstrap-responsive.css" rel="stylesheet">
Gregordy

4

আপনি কেবল তার নির্দিষ্ট ফোল্ডারে সমস্ত ফাইল সর্বজনীন পছন্দ মতো রাখতে পারেন


পাবলিক / সিএসএস
পাবলিক / জেএস
পাবলিক / ইমেজ


তারপরে কেবল এইচটিএমএলের মতো ফাইলগুলি কল করুন
<link href="css/file.css" rel="stylesheet" type="text/css">

লারাভেলের যে কোনও সংস্করণে এটি ঠিক কাজ করে


3

আপনি যে সিএসএস বা জেএস ফাইলটি অন্তর্ভুক্ত করতে চান তা সর্বজনীন ফোল্ডারে অনুলিপি করুন বা আপনি সেগুলি পাবলিক / সিএসএস বা পাবলিক / জেএস ফোল্ডারে সংরক্ষণ করতে পারেন।

যেমন। আপনি পাবলিক ডিরেক্টরিতে CSS ফোল্ডার থেকে স্টাইল.এসএস ফাইল ব্যবহার করছেন তবে আপনি ব্যবহার করতে পারেন

<link rel="stylesheet" href="{{ url() }}./css/style.css" type="text/css"/>

তবে লারাভেল 5.2 এ আপনাকে ব্যবহার করতে হবে

<link rel="stylesheet" href="{{ url('/') }}./css/style.css" type="text/css"/>

এবং আপনি যদি পাবলিক / জেএস ফোল্ডার থেকে জাভাস্ক্রিপ্ট ফাইলগুলি অন্তর্ভুক্ত করতে চান তবে এটি মোটামুটি সহজ

<script src="{{ url() }}./js/jquery.min.js"></script>

এবং লারাভেল 5.2 এ আপনাকে ব্যবহার করতে হবে

<script src="{{ url('/') }}./js/jquery.min.js"></script>

ফাংশনটি url()লারাভেল সহায়ক ফাংশন যা প্রদত্ত পথে পুরোপুরি যোগ্যতাসম্পন্ন URL তৈরি করবে।


3

আপনার সিএসএসকে পাবলিক ফোল্ডারে রেখে দিন

আপনার ব্লেড ফাইল এ এটি যোগ করুন

<link rel="stylesheet" type="text/css" href="{{ asset('mystyle.css') }}">


2

লারাভেল 5.4 এর জন্য এবং আপনি যদি মিক্স হেল্পার ব্যবহার করেন তবে ব্যবহার করুন

    <link href="{{ mix('/css/app.css') }}" rel="stylesheet">
    <script src="{{ mix('/js/app.js') }}"></script>

2

সেগুলি publicফোল্ডারে রাখুন এবং ভিউতে এ জাতীয় কিছু দিয়ে কল করুন href="{{ asset('public/css/style.css') }}"। মনে রাখবেন যে publicআপনি যখন সম্পদগুলি কল করবেন তখন অবশ্যই এতে অন্তর্ভুক্ত করা উচিত।


"সর্বজনীন" ফোল্ডারটি লেখার দরকার নেই। উদাহরণস্বরূপ, এটি আমার পক্ষে কাজ করেছিল। <লিঙ্ক href = "{। সম্পদ ('সিএসএস / বুটস্ট্রাপ.মিনি.সিএসএস')} rel" rel = "স্টাইলশিট">। আপনার উদাহরণ কার্যকর হয়নি।
ইসুরু

2

যাঁরা যেকোন কারণে জেএস / সিএসএসকে পাবলিক ফোল্ডারের বাইরে রাখতে হবে, আধুনিক লারাভেলে আপনি সাব-ভিউ ব্যবহার করতে পারেন । আপনার মতামত কাঠামো বলুন

views
    view1.blade.php
    view1-css.blade.php
    view1-js1.blade.php
    view1-js2.blade.php

মধ্যে view1অ্যাড

@include('view1-css')
@include('view1-js1')
@include('view1-js2')

মধ্যে views-js.blade.phpফাইলের মধ্যে আপনার JS কোড মোড়ানো<script> ট্যাগ

মধ্যে views-css.blade.phpআপনার শৈলী মোড়ানো <style>ট্যাগ

এটি লারাভেল এবং আপনার কোড সম্পাদককে বলবে যে সেগুলি আসলে jsএবং cssফাইল। আপনি অতিরিক্ত এইচটিএমএল, এসভিজি এবং ব্রাউজার-উপস্থাপনযোগ্য অন্যান্য স্টাফ দিয়ে এটি করতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.