कोड में स्थान प्राप्त करने से पहले जहां यह होता है, सलाह दी जाती है कि आप दर्द की दुनिया में प्रवेश कर रहे हैं।
कोई सरल कैसे उन संख्याओं को उत्पन्न कर रहे हैं के रूप में शासन नहीं है। ऐसे मामले हैं जहां यह स्टोर आईडी है, ऐसे मामले हैं जहां यह सरल उत्पाद आईडी है। ऐसे मामलों में जहां यह है न
यहां तक कि अगर वहाँ था, यह है कि इस
बदल जाता है अंत में, के बाद से Magento के मानव पठनीय/एसईओ के अनुकूल यूआरएल स्थित हैं कस्टम कार्यक्षमता को रोकने के लिए नहीं-से-खरोंच Magento साइटों के लिए आम बात है core_url_rewrite
तालिका में, यह लोगों को मनमाने ढंग से पाठ कयामत की
चेतावनी एक तरफ डालने के लिए के लिए संभव है, मॉडल आप देख रहे हैं Mage::getSingleton('catalog/url')
है। इसमें Magento कैटलॉग और उत्पाद पुनर्लेखन उत्पन्न करने के लिए अधिकांश तर्क शामिल हैं। इन सभी विधियों को getUnusedPath
विधि के माध्यम से अनुरोध पथ पारित करके समाप्त होता है।
#File: app/code/core/Mage/Catalog/Model/Url.php
public function getUnusedPath($storeId, $requestPath, $idPath)
{
//...
}
इस विधि में यूआरएल के अंत में एक अद्वितीय संख्या बनाने के लिए तर्क शामिल है। इसे पूरी तरह से ट्रेस करना एक स्टैक ओवरफ़्लो पोस्ट के दायरे से बाहर है, लेकिन विशेष रूप से यह पंक्ति प्रबुद्ध/निराशाजनक है।
$lastRequestPath = $this->getResource()
->getLastUsedRewriteRequestIncrement($match[1], $match[4], $storeId);
if ($lastRequestPath) {
$match[3] = $lastRequestPath;
}
return $match[1]
. (isset($match[3]) ? ($match[3]+1) : '1')
. $match[4];
विशेष रूप से, इन दो पंक्तियों
$match[3] = $lastRequestPath;
//...
. (isset($match[3]) ? ($match[3]+1) : '1')
//...
मामले में यह स्पष्ट नहीं है, ऐसे मामले हैं जहां Magento स्वचालित रूप से एक यूआरएल के लिए एक 1
जोड़ देंगे, और फिर इसे बढ़ाने के लिए जारी रखने के लिए कर रहे हैं। यह उन यूआरएल की पीढ़ी को सिस्टम स्थिति पर निर्भर करता है जब वे उत्पन्न होते थे - कोई आसान नियम नहीं है।
इस फ़ाइल में ब्याज की अन्य लाइनों
if (strpos($idPath, 'product') !== false) {
$suffix = $this->getProductUrlSuffix($storeId);
} else {
$suffix = $this->getCategoryUrlSuffix($storeId);
}
यह $suffix
रूप में अच्छी तरह URL के अंत पर उपयोग किया जाएगा है, इसलिए उन तरीकों की जांच के लायक हैं।
यदि आप जो भी करने की कोशिश कर रहे हैं वह यूआरएल से संख्याओं को हटा रहा है, तो आप नियमित अभिव्यक्ति या कुछ explode
/implode
स्ट्रिंग जिगर्जिंग के साथ बेहतर हो सकते हैं।
क्या आपने व्यवस्थापक क्षेत्र में URL रीवाइट्स को देखा है? [इस] से (http://stackoverflow.com/questions/5019584/magento-puts-1-in-my-urls-can-i-remove-programatically) एसओ पर पोस्ट, और जो मैंने खुद को देखा है, यह है यूआरएल रिवाइट्स और इंडेक्सिंग इश्यू – CCBlackburn
के साथ कुछ करने के लिए मेरी चिंता यह है कि मैं * हजारों * कॉन्फ़िगर करने योग्य उत्पादों (जो यूआरएल कुंजी डुप्लिकेट का कारण बनता है) के साथ साइट पर नियंत्रण ले रहा हूं और किसी ने इससे पहले इसका ख्याल नहीं रखा। मुझे यकीन नहीं है कि व्यवस्थापक में कोई अनुभाग है जो इसे एक झुकाव में हल करता है। मेरी चिंता यह है कि, उस पोस्ट के विपरीत आप संदर्भित करते हैं, मेरे यूआरएल अंकों के साथ गतिशील हैं और मुझे कोई वास्तविक पैटर्न नहीं मिल रहा है। यही कारण है कि मुझे आश्चर्य है कि गतिशील रूप से संलग्न अंकों का स्रोत क्या है, यह जानने का एक गतिशील तरीका है। यह मेरी चिंता है। स्पष्ट रूप से एक ऐसा कार्य है जो इसे नियंत्रित करता है ... धन्यवाद। – Joel
बस एक विचार था, सरल उत्पाद से कॉन्फ़िगर करने योग्य उत्पाद के लिए यूआरएल कुंजी है? यदि नहीं, तो यह भी समस्याएं पैदा करेगा – CCBlackburn