ลบ ID บทความจาก Joomla 3 url


9

ฉันกำลังพยายามลบรหัสบทความออกจาก Joomla 3 URL ฉันค้นหาไปรอบ ๆ และการตอบสนองอยู่ใน

components\com_content\router.php

การเปลี่ยนแปลง0ไป1ใน$advanced = $params->get('sef_advanced_link', 1);

บนบรรทัดที่38และ290

และแสดงความคิดเห็นด้วย

if (strpos($segments[0], ':') === false) {
    $vars['view'] = 'article';
    $vars['id'] = (int)$segments[0];
    return $vars;
}

ฉันคิดว่ามันใช้งานได้ดีใน Joomla 2.5 ตามความคิดเห็นทั้งหมดที่กล่าวถึงนี้

แต่มันไม่ทำงานสำหรับฉันบนเว็บไซต์ Joomla 3.3 ของฉัน

ฉันจะบรรลุสิ่งนี้ได้อย่างไรโดยไม่สร้างรายการเมนูสำหรับแต่ละบทความ


คุณมีข้อผิดพลาดหรือไม่?
Dmitry Rekun

เพียงสร้างลิงค์เมนูสำหรับบทความของคุณ
saibbyweb

Lodder - ใช่ฉันได้รับลิงค์ที่ฉันต้องการ แต่มีหน้าข้อผิดพลาด 404 แทนที่จะเป็นบทความของฉัน
ปิดปาก

Saibbyweb - ฉันมีบทความมากกว่า 100 บทความและมีจำนวนเพิ่มขึ้นถึง 500 บทความดังนั้นฉันจึงไม่คิดว่าเป็นความคิดที่ดีที่จะสร้างเมนูสำหรับสิ่งเหล่านี้
ปิดปาก

หากส่วนขยาย K2 เป็นตัวเลือกสำหรับคุณคุณสามารถทำสิ่งนี้ได้อย่างง่ายดาย K2 มีตัวเลือกสำหรับการกำหนดเส้นทางขั้นสูงพร้อมตัวเลือกที่จำเป็น คุณสามารถนำเข้าบทความที่น่าสนใจใน K2 ตรวจสอบบล็อก K2 ของฉันและลิงค์อ่านเพิ่มเติมที่สร้างขึ้น อีกวิธีหนึ่งคือการใช้ sh404sef หรือคุณคาดหวังกับindiegogo.com/projects/advance-the-joomla-url-router/x/7216161
Joomla Agency

คำตอบ:


11

ขั้นตอนที่ 1

แก้ไข“ components / com_content / router.php“ จากนั้นดำเนินการต่อในขั้นตอนที่ 2
(คุณอาจต้องทำขั้นตอนนี้ซ้ำทุกครั้งที่คุณอัปเดต Joomla)

ขั้นตอนที่ 2

(มีสองสถานที่ที่ต้องทำการเปลี่ยนแปลงนี้ใกล้กับด้านบนสุดหนึ่งแห่งตรงกลาง) แทนที่สิ่งนี้:

$advanced = $params->get('sef_advanced_link', 0);

ด้วยสิ่งนี้:

$advanced = $params->get('sef_advanced_link', 1);

ขั้นตอนที่ 3

แทนที่

->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));

กับ

->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));

และคุณทำเสร็จแล้ว


คุณยินดี @gag
saibbyweb

ฉันได้ลองวิธีการแก้ปัญหาข้างต้นในไซต์ 3.3.3 ของฉันเพื่อไม่ให้เกิดประโยชน์ เว็บไซต์ทั้งหมดจะว่างเปล่า

5

สำหรับทุกคนที่ไม่ต้องการสกปรกด้วยการแก้ไขโค้ด Joomla เราจะพูดถึงว่าส่วนขยาย SEF ของบุคคลที่สามให้ความสามารถในการลบรหัสจาก URL SEF

มีส่วนขยาย SEF มากมายที่บางคนสามารถพบได้ในJED :

ตัวอย่างเช่นSH404SEFเป็นหนึ่งในส่วนขยาย Joomla ที่ได้รับความนิยมและใช้กันมากที่สุดซึ่งมีประวัติยาวนานและการสนับสนุนเสริมจากส่วนประกอบของบุคคลที่สามมากมาย

สำหรับวิธีการแก้ปัญหาที่ง่ายกว่านี้ฉันเพิ่งเจอปลั๊กอินใหม่ที่มีคุณสมบัติบางอย่างรวมถึง "ลบรหัสจากบทความหมวดหมู่และแท็ก URL ของ SEF" ทางออกที่ง่ายและใช้งานได้ง่าย

* หมายเหตุ 1: ส่วนขยายทั้งสองที่กล่าวถึงข้างต้นเป็นการดาวน์โหลดแบบเสียเงิน

* หมายเหตุ 2: มีอีกอย่างก็คือคำถามที่คล้ายกันในJSE


Piggybacking เกี่ยวกับเรื่องนี้ฉันเป็นแฟนของ Direct Alias ​​ซึ่งเป็นปลั๊กอินที่เพิ่งลบ ID บทความ / หมวดหมู่และไม่มีอะไรอื่น วิธีแก้ปัญหาที่ดีถ้าคุณไม่ต้องการส่วนประกอบ SEF ทั้งหมด Extensions.joomla.org/extensions/extension/site-management/sef/…
YellowWebMonkey

1

นอกเหนือจากคำตอบที่มีอยู่แล้วเราเตอร์ใหม่จะรวมอยู่ใน Joomla 3.7.0 ซึ่งอาจจะแก้ไขปัญหานี้ได้

Joomla 3.7.0 มีกำหนดจะออกในเร็ว ๆ นี้ สำหรับรายละเอียดโปรดดู:

https://www.joomla.org/announcements/release-news/5695-joomla-3-7-0-alpha-2-released.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.