- Google Pixel topik
- Apple Watch
- Xiaomi 14T - nem baj, hogy nem Pro
- Xiaomi 13 Pro - szerencsés szám
- Okosóra és okoskiegészítő topik
- Xiaomi 14T Pro - teljes a család?
- Fotók, videók mobillal
- Samsung Galaxy S25 - végre van kicsi!
- iPhone topik
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
-
Mobilarena
Ajánlott szakirodalmak a teljesség igénye nélkül (a lista még bővülhet):
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
No, sorry, kicsit több lett, mint negyed óra, társaságom lett, aztán végül már nem volt energiám ezzel foglalkozni.
Ami működőképes az átméretezésre, most modulból méretezek át, de ugyanezt meg lehetne tenni sminkből is (végül is sminkelési feladat inkább, mivel adott helyen szeretnéd átszabni, a megjelenésnek megfelelően, de a lényeg ugyanaz):
/**
* Implements hook_form_alter().
*/
function testmodule_form_alter(&$form, &$form_state, $form_id) {
// az after_build függvényben már megvannak az egyes elemek HTML id-jai (itt még nem)
$form['#after_build'][] = 'testmodule_form_alter_after_build';
}
/**
* Form after build function
*/
function testmodule_form_alter_after_build($form, &$form_state) {
$form_id = $form['#form_id'];
switch ($form_id) {
// most a példa kedvéért az Article content type formjánál fogom átszabni a CKEditor szélességét, magasságát
case 'article_node_form':
drupal_add_js(drupal_get_path('module', 'testmodule') . '/js/ckEditorResizing.behaviors.js', array('type' => 'file', 'scope' => 'footer', 'weight' => 100));
// itt az Article content type body-jánál a summary-hez és a fő törzsszöveghez tartozó CKEditort fogom átméretezni!
// a HTML id azért kell, mert a CKEDITOR.instances tömböt fogjuk felhasználni a JS-kódban, és ebben HTML id-k kulcsai szerint vannak meg az objektumok, a rá vonatkozó attribútumok és metódusok
drupal_add_js(array(
'testmodule' => array(
'ckEditorResizing' => array(
array(
'id' => $form['body']['und'][0]['summary']['#id'],
'width' => 400,
'height' => 200
),
array(
'id' => $form['body']['und'][0]['value']['#id'],
'width' => 300,
// 'width' => '50%',
'height' => 600
)
)
)
), 'setting');
break;
}
return $form;
}Aztán a testmodule/js könyvtárban van egy
ckEditorResizing.behaviors.js
fájl, aminek a tartalma a következő:(function ($, Drupal) {
Drupal.behaviors.ckEditorResizing = {
attach: function (context, settings) {
var self = this;
// némi késleltetéssel kell átméretezni, miután inicializálódott
window.setTimeout(function(){
self.resizeCKEditor(context, settings);
}, 600);
},
resizeCKEditor : function (context, settings) {
if(settings['testmodule']['ckEditorResizing']){
var ckEditorResizingData = settings['testmodule']['ckEditorResizing'];
for(var i = 0; i < ckEditorResizingData.length; i++){
var ckEditorInstance = CKEDITOR.instances[ckEditorResizingData[i].id];
ckEditorInstance.resize(ckEditorResizingData[i].width, ckEditorResizingData[i].height);
}
}
}
};
})(jQuery, Drupal);Ez csak szemléltetés, biztos lehetne ezen szépíteni (például elég ronda az a multidimenziós tömb valami rendes osztály helyett, de sajnos ezt a multidimenziós tömb szemléletet a 7-es Drupalban (valszeg még 8-asban is) elég sokszor alkalmazzák).
A lényeg tehát, hogy a .resize() metódust hívjuk meg:
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#resizeVonatkozó cikk még:
How Do I Change the Size of the Editor on the Fly?
http://docs.cksource.com/CKEditor_3.x/Howto/Editor_Size_On_The_FlyHa nem érthető, kérdezz.
-
Sk8erPeter
nagyúr
Itt egy hook_form_alter-es megoldást javasol valaki (még nem próbáltam, ez így ér-e valamit):
http://ckeditor.com/comment/39228#comment-39228function MODULODNEVE_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'taxonomy_form_term': // vagy más form_id
$form['MEZONEVE']['description']['#rows'] = 4;
break;
}
}(Szerk.: vagy akár MODULODNEVE helyett sminked neve is szerepelhet.)
Új hozzászólás Aktív témák
- Xiaomi Electric Scooter 5 Max tökéletes hibátlan eladó
- 4K Gamer PC Ryzen 9 5900X/RX 6900 XT 16Gb/32Gb DDR4/1Tb NVME M2 SSD/850W Bronz 6hó Gar
- SZINTE ÚJ! MacBook Air M4 - 13 , 16 GB RAM, 512 GB SSD, Éjfekete + 4 év garancia + balesetbiztosítás
- Lenovo Legion Go S 32GB/1TB Garancia + Ajándék
- Lenovo ideacentre Gaming 5 Limited
- Új és újszerű 15-16 Gamer, irodai, üzleti, készülékek nagyon kedvező alkalmi áron Garanciával!
- Kezdő Gamer PC-Számítógép!Csere-Beszámítás! I5 6500 / RX580 8GB / 16GB DDR4 / 512 SSD
- BESZÁMÍTÁS! Asus H370-A i5 9600K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T7 Zalman 500W
- BESZÁMÍTÁS! Asus Z790 i9 14900K 32GB DDR4 1TB SSD RTX 2080Ti 11GB Montech Air 1000 Lite 700W
- HIBÁTLAN iPhone 12 Mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3481,96% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest