PHP daktilo pop pop sınav süresi! (Tam açıklama: Ofisimizde kazanmadım).
Daha önce de belirtildiği gibi, bu l()
endişe duyduğumuz kod :
if (isset($options['fragment']) && $options['fragment'] !== '') {
$options['fragment'] = '#' . $options['fragment'];
}
İşte soru şu: Boş bir dizeye hangi değer verilir, ancak aşağıdakiler geçer mi?
(isset($var) && $var !== '')
Cevap: FALSE
!
Yani, bunu deneyebiliriz:
l(t('My link'), NULL, array('fragment' => FALSE));
Hangi bize verir:
<a href="/#">My link</a>
Neyse ki önde gelen eğik çizgiyi geçerek çıkarabiliriz external => TRUE
:
l(t('My link'), NULL, array('external' => TRUE, 'fragment' => FALSE));
Hangi bize verir:
<a href="#">My link</a>
Boom. Html dizelerini elle birleştirmekten kaçınmak için yaptığımız şeyler, ha?
dipnot:
Aslında normal koşullar altında php böyle bir bağlantı yazdırmak tavsiye ederim emin değilim. Javascript'iniz olmadan, tüm bu bağlantı yapacaktır ( bu, benim küçük bir sürpriz, belirtilen davranış olduğunu ) sayfanın üstüne kullanıcı atlamak . Muhtemelen javascript olmadan çalışan bir yere işaret etmelidir.
Bağlantı gerçekten sadece javascript ile mantıklıysa (sadece js slayt gösterisi veya başka bir şey için kontroller gibi), javascript ile sayfaya bağlantı eklemek daha iyi olduğunu düşünüyorum. Alternatif olarak, gerçekten kaynağınıza koymak istiyorsanız, display:none
varsayılan olarak olduğundan emin olun . Drupal .js
html üzerinde javascript civarında olduğunda göstermek için sınıfa sahiptir .
javascript:void(0)