Open juhasz opened 12 years ago
jelenleg egy legördülő menüből lehet kiválasztani, hogy mennyi idő múlva járjon le: https://github.com/dCourse/shrtr/blob/3c8e72c8519e08af6012d4250fbd19a3a5c12141/shrtr.module#L38-48
ezt egy timestamp-ként menti el https://github.com/dCourse/shrtr/blob/3c8e72c8519e08af6012d4250fbd19a3a5c12141/shrtr.module#L79
az elképzelésem itt az volna, hogy felveszel egy újabb dátum field-et, és ha ott beállít valamit, akkor az lesz a lejárat
renld magadhoz a feladatot, ha ezzel akarsz foglalkozni!
Kész a feladat.
Módosított .info: http://dl.dropbox.com/u/5781492/shrtr.info
Módosított .module: http://dl.dropbox.com/u/5781492/shrtr.module
A date module követelmény, azon belül a Date API és a Date Popup (<=mert ez jól néz ki.)
Amit megcsináltál, az működik, de még nincs kész.
Date field létezik a date modul nélkül is? a sima date-modulnak mindenképpen függőségnek kell lennie, nem? Date mezőnk alapból van?
:
Amit megcsináltál, az működik, de még nincs kész.
- Eddig volt egy választólista, ahol ki lehet választani, hogy még mennyi ideig érvényes, ez a módosítás ezt cseréli le egy dátumválasztóra. Az elvárt működés az lenne, hogy legyen lehetőség mindkét módszerre.
- Ne legyen függőség a date és a date popoup. Lehet, hogy valaki nem is akarja használni a lejárati idő beállítást, akkor meg minek telepítsen két extra modult? Helyette használjuk a rendes date field-et, ami "nem olyan jól néz ki", és vizsgáljuk meg, hogy van-e date popup modul, ha van, akkor használja azt.
Reply to this email directly or view it on GitHub: https://github.com/dCourse/shrtr/issues/7#issuecomment-5218983
A date fieldnek nem lehet üres értéket adni, azaz alapértelmezetten mindig az aktuális dátum látszik. Emiatt nem lehet megoldani, hogy csak akkor vegye figyelembe a dátum szerinti lejárati időt, ha be van állítva és alapértelmezetten a hátralévő idő legyen. emiatt be kellett vezetnem egy választási lehetőséget (radios field), amivel először ki kell választani, hogy melyik szerint. Gondolom ez nem gond, most jobb ötletem nincs. (viszont e szerint js-el el lehet tüntetni a nem használt beviteli módot)
A módosított megoldás: .module: http://dl.dropbox.com/u/5781492/shrtr.module .info: http://dl.dropbox.com/u/5781492/shrtr.info
Jó, ez már nagyon közelít a készhez.
1- Ccoder modult futtasd rá minor hibákat keresve. Vannak. Azokat javítsd. 2- Ne DOS formátumú sorvégeket használj, hanem Unix tipusúakat
3-
emiatt be kellett vezetnem egy választási lehetőséget (radios field), amivel először ki kell választani, hogy melyik szerint. Gondolom ez nem gond, most jobb ötletem nincs. (viszont e szerint js-el el lehet tüntetni a nem használt beviteli módot)
Ez sem rossz, de javascript nem kell ide, használd a form API states tulajdonságát: http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#states
Ha ez megy, akkor lehet az opciók helyett az eredeti listát is használni, valami ilyesmit gondoltam:
Never
On date
10 minutes
20 minutes
30 minutes
1 hour
És ha az 'On date' opciót választja, akkor nézzük a dátumot.
Próbálgattam a #states -et de egyszerűen nem csinál semmit, és nem jöttem rá, hogy miért...
$form['expire_remain'] = array( '#type' => 'select', '#title' => t('Expire remain'), '#options' => array( 0 => t('Never'), 'date' => t('On date'), 600 => '10' . t('min'), 1200 => '20' . t('min'), 1800 => '30' . t('min'), 3600 => '1' . t('hour'), ), '#default_value' => 0, '#description' => t('Time to expire'), ); $form['expire_date'] = array( '#type' => 'date', '#title' => t('Expire date'), '#default_value' => 0, '#description' => t('Time to expire'), '#required' => FALSE, '#states' => array( 'visible' => array( ':input[name="expire_remain"]' => array('value' => 'date'), ), ), );
mindenhol így alkalmazzák, nem értem mi lehet a gond.
:
Jó, ez már nagyon közelít a készhez.
1- Ccoder modult futtasd rá minor hibákat keresve. Vannak. Azokat javítsd. 2- Ne DOS formátumú sorvégeket használj, hanem Unix tipusúakat
3-
emiatt be kellett vezetnem egy választási lehetőséget (radios field), amivel először ki kell választani, hogy melyik szerint. Gondolom ez nem gond, most jobb ötletem nincs. (viszont e szerint js-el el lehet tüntetni a nem használt beviteli módot)
Ez sem rossz, de javascript nem kell ide, használd a form API states tulajdonságát: http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#states
Ha ez megy, akkor lehet az opciók helyett az eredeti listát is használni, valami ilyesmit gondoltam:
Never On date 10 minutes 20 minutes 30 minutes 1 hour
És ha az 'On date' opciót választja, akkor nézzük a dátumot.
Reply to this email directly or view it on GitHub: https://github.com/dCourse/shrtr/issues/7#issuecomment-5352523
Most csak próbaképp ugyan ezt bemásoltam a kódba, tökéletesen működik. Lehet, hogy valami böngésző cache vagy javascript probléma lehet, próbáld másik böngészővel, vagy incognito módban.
Oha, ez érdekes... :) Ez sztem több helyen a core-ban is alkalmazva, és nem vettem észre, hogy valahol ne működne. Na mind1
:
Most csak próbaképp ugyan ezt bemásoltam a kódba, tökéletesen működik. Lehet, hogy valami böngésző cache vagy javascript probléma lehet, próbáld másik böngészővel, vagy incognito módban.
Reply to this email directly or view it on GitHub: https://github.com/dCourse/shrtr/issues/7#issuecomment-5416439
Órán ez a feladat nem lett elkezdve? Nulláról kell indulni? (legutóbb sajnos nem voltam.)