2016-08-08 16 views
0

Hallo Ich habe verschiedene Dinge ausprobiert, aber nicht sicher, ob ich versuche, Dinge zu komplizieren. Ganz einfach möchte ich eine kleine Bild-Landesflagge für das Wort "Spanisch" und "Englisch" hinzufügen und stattdessen ein "Alt" -Tag mit diesen Wörtern versehen. Das Folgende funktioniert gut mit nur Text und wie es ist, aber es wäre cool, das Bild entweder zu ersetzen oder Seite an Seite mit dem Wort zu sitzen. Irgendwelche Hilfe verfügbar?

echo $this->Html->link('Spanish', array('controller'=>'settings', 'action'=>'lang', 'spa'), 
     array('rel'=>'nofollow')); 
} 

else { 
    echo $this->Html->link('English', array('controller'=>'settings', 'action'=>'lang', 'eng'), 
     array('rel'=>'nofollow')); 
} 
+0

ich die HTML-out für Englisch setzen sollte hinzufügen, im Moment ist wie folgt: English \t –

+0

bitte die Frage entsprechend Ihnen genaue cakephp Version – arilia

+0

Danke, CakePHP 2.8 –

Antwort

0

, wenn Sie mit cake2 sehen this Link zum Kochbuch

echo $this->Html->image("spain.jpg", array(
    "alt" => "Spanish language", 
    'url' => array('controller' => 'settings', 'action' => 'lang', 'spa') 
)); 
+0

Tag, das leider nicht funktionierte. Es hat die Seite durchbrochen. Ich benutze Version 2.8. Ich möchte nur den Code, den ich habe, um diese Ausgabe zu geben: SpanishSpanish

+0

bitte erklären: Möchten Sie, dass das Bild ein Link ist, oder möchten Sie einfach das Bild direkt nach dem Link, aber nicht anklickbar? – arilia

+0

Entschuldigen Sie Fehler ... nervös! –

0

Sie können entweder Ausgang nur ein verlinktes Bild mit der image Methode mit einem url Attribute: -

<?php 

echo $this->Html->image(
    'spain.jpg', 
    array(
     'alt' => 'Spanish', 
     'url' => array('controller' => 'settings', 'action' => 'lang', 'spa') 
    ) 
); 

Oder Sie können ein Bild mit einer Textverknüpfung einfügen, indem Sie die normale Methode CakePHP link mit der image kombinieren Methode: -

<?php 

echo $this->Html->link(
    h('Spanish') . $this->Html->image('spain.jpg', array('alt' => 'Spanish')), 
    array('controller' => 'settings', 'action' => 'lang', 'spa'), 
    array('escape' => false, 'rel' => 'nofollow') 
); 

Mit der link Methode, die Sie sich merken müssen, Kuchen, um zu verhindern Flucht aus dem img-Tag 'escape' => false. Wenn Sie das Escapen auf diese Weise deaktivieren, müssen Sie daran denken, jeden von Benutzern bereitgestellten Text mit der Methode h() zu umgehen, um eine HTML-Injektion zu verhindern (ich habe dies in meinem Beispiel mit dem Wort "Spanisch" gezeigt, aber nur, wenn dies der Fall ist) von einer Variablen).