लारवेल बैक बटन


86

मैं एक पृष्ठ पर एक साधारण बैक बटन बनाने की कोशिश कर रहा हूं। उपयोगकर्ता दो अलग-अलग पृष्ठों से इस पृष्ठ पर आ सकता है इसलिए मैं जानना चाहूँगा कि वह किस पृष्ठ से आया है। क्या यह संभव है?


2
{{ url()->previous() }}लारवेल 5 में
कोनर लीच

जवाबों:


145

लारवेल में, आप ऐसा कुछ कर सकते हैं: <a href="{{ Request::referrer() }}">Back</a>(यह मानते हुए कि आप ब्लेड का उपयोग कर रहे हैं)।

लारवेल ४

{{ URL::previous() }}

लारवेल 5+

{{ url()->previous() }}

लारवेल प्रलेखन


इस काम के लिए धन्यवाद !! प्रलेखन में यह नहीं मिल सका ... कहीं और है क्या मैं लार्वा से अधिक प्राप्त कर सकता हूं?
कोसापोस्टोलो

2
आप दस्तावेज़ देख सकते हैं , उनके फ़ोरम का उपयोग कर सकते हैं, लार्वा फ़ोल्डर में स्रोत ब्राउज़ कर सकते हैं या फ़िरनोड पर अपने आईआरसी चैनल # लारवेल में लटका सकते हैं । दिन या रात आपके सवालों के जवाब देने के लिए आईआरसी चैनल को बहुत सारे अनुकूल और मददगार लोगों की सलाह देते हैं।
अननोन

21
@yannishristofakis क्या आप लारवेल 4 का उपयोग कर रहे हैं? URL व्यवहार बदल गया है, इसलिए URL::previous()इसके बजाय उपयोग करें ।
मार्कस हॉफमैन

2
अनुरोध :: हैडर ( "रेफ़रलकर्ता");
रमेश

1
इस और URL :: पिछले () दृष्टिकोण के साथ समस्या यह है कि यह http रेफ़रर पर आधारित है। 1) यह सभी उपयोगकर्ता एजेंटों द्वारा निर्धारित नहीं किया जा सकता है, इसलिए आप हर समय इस पर भरोसा नहीं कर सकते। 2) इसके अलावा, अगर यह सेट है, लेकिन आप किसी बाहरी स्रोत के लिंक से विशिष्ट पृष्ठ पर जाते हैं, तो आप उस स्रोत पर वापस चले जाएंगे।
मोर्कसिनाब

70

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैंने इसे उसी समाधान की तलाश में पाया। लारावेल 4 में काम करने के लिए ऊपर का समाधान दिखाई नहीं देता है, लेकिन आप अब इसका उपयोग कर सकते हैं:

<a href="{{ URL::previous() }}">Go Back</a>

आशा है कि यह उन लोगों की मदद करता है जो एल 4 में इस सुविधा की तलाश करते हैं

(स्रोत: https://github.com/laravel/framework/pull/501/commits )



18

वास्तव में {{ URL:previous() }}काम का उपयोग करते हुए , लेकिन यदि आप एक ही नामित मार्ग का उपयोग कर रहे हैं, तो कई दृश्यों को प्रदर्शित करने के लिए, यह आपको इस मार्ग के पहले समापन बिंदु पर ले जाएगा।

मेरे मामले में, मेरे पास एक नामित मार्ग है, जो उपयोगकर्ता द्वारा चुने गए पैरामीटर के आधार पर, 3 अलग-अलग विचारों को प्रस्तुत कर सकता है। बेशक, मेरे पास इस मार्ग में पहले प्रवेश के लिए एक डिफ़ॉल्ट मामला है, जब उपयोगकर्ता ने अभी तक कोई विकल्प नहीं चुना है।

जब मैं उपयोग करता हूं URL:previous(), तो Laravel मुझे डिफ़ॉल्ट दृश्य पर वापस ले जाता है, भले ही उपयोगकर्ता ने कुछ अन्य विकल्प का चयन किया हो। केवल बटन के अंदर जावास्क्रिप्ट का उपयोग करके मैंने सही दृश्य में वापस आने के लिए पूरा किया:

<a href="javascript:history.back()" class="btn btn-default">Voltar</a>

मैंने इसे लारावेल 5.3 पर परीक्षण किया है, सिर्फ स्पष्टीकरण के लिए।


17

निम्नलिखित एक पूर्ण ब्लेड (अस्थायी इंजन लारवेल का उपयोग करता है) समाधान है:

{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}

वर्ग के साथ विकल्प सरणी वैकल्पिक है, इस मामले में यह बूटस्ट्रैप 3 बटन के लिए स्टाइल को निर्दिष्ट करता है।


1
एक ऐसी चीज़ है जिसे बदलने की ज़रूरत है {{...}} की बजाय आपको {{!! ... !!} अन्यथा स्ट्रिंग बच जाएगी।
सुखरादिक

1
यह सच है, उस समय लारावेल 4 में काम किया था, इससे पहले कि वे डिफ़ॉल्ट रूप से बच गए। वर्तमान लारवेल संस्करणों के साथ काम करने के लिए अद्यतन किया गया। धन्यवाद :)
mike.bronner

14

5.1 पर मैं केवल यह काम कर सकता था।

<a href="{{ URL::previous() }}" class="btn btn-default">Back</a>

अच्छी तरह से काम। धन्यवाद महोदय!
मैट इनामदार

2

नीचे दी गई समस्याओं में से एक आपकी समस्या का समाधान करती है

URL::previous() 
URL::back()

अन्य

URL::current()

2

आप इस प्रोवेंस के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं। यह ब्राउज़र इतिहास से लिंक पुनर्प्राप्त करता है।

<script>
function goBack() {
  window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>


0

आप {{URL :: पिछली ()}} का उपयोग कर सकते हैं लेकिन यह UX के लिए सही नहीं है।

उदाहरण के लिए, जब आप F5 बटन दबाते हैं और {{URL :: पिछले ()}} के साथ फिर से बैक बटन पर क्लिक करते हैं।

एक अच्छा तरीका {{मार्ग ('page.edit', $ आइटम-> आईडी)}} का उपयोग कर रहा है। यह हमेशा सही पेज होता है जिसे आप रीडायरेक्ट करना चाहते हैं।


0
<a href="{{ url()->previous() }}" class="btn btn-warning"><i class="fa fa-angle-left"></i> Continue Shopping</a>

इसने लारवेल 5.8 में काम किया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.